home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / utils / file / managers / mc-3.2 / mc-3 / mc-3.2.1 / src / ChangeLog < prev    next >
Encoding:
Text File  |  1996-05-17  |  314.9 KB  |  8,767 lines

  1. Thu May 16 12:30:23 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2.  
  3.     * view.c (view): Use the global Wview variable instead
  4.  
  5. Wed May 15 20:24:55 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  6.  
  7.     * panelize.c: Provide extra space for temporary dirent structure. 
  8.  
  9.     * win.c (check_movement_keys): Do not handle the C-b combination,
  10.     it is used by the viewer for next/previous file.
  11.  
  12. Mon May 13 09:11:27 1996  Joseph M. Hinkle <jhinkle@rockisland.com>
  13.  
  14.     * boxes.c (display_bits): Call proper help information.
  15.  
  16. Mon May  6 21:20:39 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  17.  
  18.     * file.c (copy_file_file): Should abort now ongoing transfers
  19.     faster.
  20.  
  21.     * ftpfs.c (initconn): Attempt to use passive ftp transfer mode if
  22.     source routing is in effect.  If this does not work, dump source
  23.     routing and use regular method for ftp transfer.
  24.  
  25.  
  26. Thu May  2 19:29:07 1996  ?????
  27.     
  28.     * extfs/zip (DOZIPINFO): Fixed zipfs support for files with
  29.     comments, lost mail address.
  30.  
  31. Thu May  2 19:29:07 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  32.     
  33.     * vfs/vfs.c: minor parse fix.
  34.  
  35. Thu May  2 19:25:09 1996  "Sergey Ya. Korshunoff" <root@seyko.msk.su>
  36.  
  37.     * configure.in: Check for libtermcap (new Linux libcs do not have
  38.     libtermcap in libc).
  39.  
  40. Tue Apr 30 20:58:34 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  41.  
  42.     * ftpfs.c (store_file): Remove temporary files after an outgoing
  43.     tansfer. 
  44.  
  45. Mon May  6 01:10:50 1996  Jakub Jelinek  <jj@sunsite.mff.cuni.cz>
  46.  
  47.     * extfs.c: Hack to get the a: and b: fs running (fixed couple of
  48.     problems with external fs when no archive file was used
  49.  
  50.     * extfs.c (extfs_run): Allows you to "execute" some files inside
  51.     of extfs - your script will be called with $1=run $2=archive $3=path,
  52.     e.g.
  53.     /usr/lib/mc/extfs/rpm run /home/jj/rpm-2.0-2.src.rpm INSTALL
  54.  
  55.     * vfs/Makefile.in: rpm script gets installed
  56.  
  57.     * vfs/extfs/rpm: Couple of changes to make rpmfs more powerful
  58.  
  59.     * vfs/extfs/a: Fixes - the ls -l parse in mc is quite strict
  60.     about date, so that it wasn't happy by 2-24-96 (correct is 02-24-96)
  61.  
  62.     * layout.c: New checkbox in the Layout dialog. When running on xterm
  63.     and Xterm hintbar is checked, hintbar will be put into the xterm's
  64.     title bar, so that you'll save space - will have more lines for file
  65.     display
  66.  
  67.     * main.c: Fix, so that it is possible to do quick searches for
  68.     characters like +, -. In order to select/unselect, you have to press
  69.     escape twice before +, -.
  70.  
  71. Mon Apr 29 21:34:53 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  72.  
  73.     * subshell.c (init_subshell): Documented startup shell scripts.
  74.  
  75.     * find.c (do_search): Added directory exclusion.
  76.     
  77. Mon Apr 29 08:42:52 1996  Adam Tla/lka <atlka@pg.gda.pl>
  78.  
  79.     * cmd.c (view_file): Return value, fixes Soalris crash.
  80.  
  81. Fri Apr 26 18:10:10 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  82.  
  83.     * ftpfs.c (initconn): Added source routing to ftpfs, he he, this
  84.     lets you specify a specific route for your ftp traffic :-).  It is
  85.     still missing the passive open code, so it currenly is only able
  86.     to send commands trough the source route.  This code is disabled
  87.     by default, it requires human intervention (ie, editting config.h
  88.     and specifying HAVE_SETSOCKOPT).
  89.  
  90. Thu Apr 25 11:11:08 1996  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  91.  
  92.     * cmd.c (source_routing): Added source routing option to sockets,
  93.     he he he. 
  94.  
  95. Wed Apr 24 22:12:50 1996  Alexander V. Lukyanov <lav@video.yars.free.net>
  96.  
  97.         * key.c: touch window for ncurses.
  98.     
  99.     * color.c: use proper colors for ncurses.
  100.     
  101. Fri Apr 19 09:02:51 1996  Juan Grigera  <grigera@isis.unlp.edu.ar>
  102.  
  103.     * vfs.h (vfs_canon): On the non-vfs definition return a strdupped
  104.     version of the string, just like vfs_canon does.
  105.  
  106.     * profile.h: Do not include profile prototypes routines present on
  107.     NT. 
  108.  
  109.     * key.nt.c, slint.nt.c, utilnt.c: updated, look at README.NT
  110.  
  111. Thu Apr 18 20:35:03 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  112.  
  113.     * subshell.c (exit_subshell): Do not ask for confirmation for
  114.     killing subshell when it is already dead.
  115.  
  116.     * Do not return after invoking subshell, let the code reinit slang
  117.     and let it shutdown properly.
  118.  
  119. Wed Apr 17 10:03:57 1996  Erik Troan  <ewt@redhat.com>
  120.  
  121.     * extfs/rpm: Added new rpm file system.  This one lets you browse
  122.     RPM files.
  123.  
  124. Wed Apr 10 17:05:57 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  125.  
  126.     * utilunix.c (tilde_expand): Now returns 0 if the home directory
  127.     for the tilde expansion does not work.
  128.  
  129.     * vfs.c (vfs_canon): Check for tilde_expand results.
  130.  
  131.     * complete.c (command_completion_function): Check for return
  132.     values from tilde expand.
  133.  
  134.     * wtools.c (input_expand_dialog): Check for tilde_expand result.
  135.  
  136. Tue Apr  9 20:06:03 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  137.  
  138.     * main.c (create_panels): both startup directories are now handled
  139.     properly (for those cases where the second directory was relative
  140.     to the startup working directory)
  141.  
  142.     * subshell.c (do_subshell_chdir): Added proper quoting of
  143.     directories, should get rid of the problems with directories with
  144.     spaces (common now for those using windows)
  145.  
  146. Thu Apr  4 11:03:07 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  147.  
  148.     * chown.c (chown_cmd): Check for return values of getpwnam and
  149.     getgrnam, bug report by Mikhail Savitski <mms@eiscathq.irf.se>
  150.  
  151. Fri Mar 29 18:00:11 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  152.  
  153.     * From: Liviu Daia <daia@stoilow.imar.ro>: Fix the documentation
  154.     on the keywords for setting colors 
  155.  
  156. Wed Mar 27 19:58:32 1996  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  157.  
  158.     * tree.c: If configuration variable xtree_mode is true then when
  159.     browsin with the tree panel the other panel will reload the
  160.     contents of the panel.
  161.  
  162.     * tkmain.c, key.c: Should compile and link with latest release of
  163.     Tk
  164.  
  165. Mon Mar 11 09:53:10 1996  John Ioannou <roryt@compulink.gr>
  166.  
  167.     * cmd.c (do_link): Suggest symlink names. (get_random_hint): make
  168.     it work on SCO.
  169.     
  170.     * utilunix.c (gettimeofday): Contrinuted this routine for SCO machines.
  171.     
  172. Mon Mar 11 09:47:15 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  173.  
  174.     * Makefile.in: Split the util.c file in three pieces: utilunix.c:
  175.     util routines pertinent to Unix; utilnt.c: util routines for
  176.     Windows NT (from Juan Grigera) and util.c that has the OS
  177.     independent (well, mostly) 
  178.  
  179. Tue Mar  5 19:28:35 1996  Juan Grigera <grigera@isis.unlp.edu.ar>
  180.  
  181.     * boxes.c (sort_box): Add case sensitivity to the menu.
  182.     
  183.     * user.c (execute_menu_command): windows nt requires a .cmd
  184.     extension to execute commands.  Fix a return path that did not
  185.     close nor unlink the file.
  186.     
  187.     * chmod.c: now we have working chmod.
  188.  
  189.     * hotlist.c: use the proper path separator, do not pass a non used
  190.     parameter to update_path_name
  191.  
  192.     * dir.c, panelize.c, boxes.h, setup.c: added support for case
  193.     sensitive sorting (for windows nt).
  194.  
  195. Mon Mar  4 17:08:22 1996  Mark Olessen  <olesen@weber.me.queensu.ca>
  196.  
  197.     * container.c, sldisply.c: Include config.h before anything else.
  198.  
  199.     * tcputil.c (sig_pipe): AIX requires an int parameter
  200.  
  201.     * sltermin.c: changes to compile slang on AIX.
  202.  
  203. Mon Mar  4 09:29:32 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  204.  
  205.     * profile.c (GetSetProfileChar): Fixed bug when the AppName was
  206.     zero.  This could be the case if one of the keys in the profile
  207.     has no value.
  208.  
  209.     * info.c (info_show_info): Fixed crash when info was displayed on
  210.     a non local vfs.
  211.  
  212. Mon Mar  4 08:17:27 1996   Anatoly A. Kulakov (kulakov@JamesBond.inp.nsk.su)
  213.  
  214.     * mc.lib: for xterms and xterm-colors define the page up and page
  215.     down keys.
  216.  
  217.     * nt/Makefile: remove spurious backslash
  218.  
  219.     * src/dlg.h: Do not give a name to the Widget_messages enum (some
  220.     compilers can't handlte this).
  221.  
  222. Sat Mar  2 10:27:24 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  223.  
  224.     * cmd.c (view_other_cmd): Call my_system (1, shell, NULL) instead
  225.     of my_system (1, shell, "").  This allows one have a shell spawned
  226.     when pressing C-o and the subshell code is not activated.
  227.  
  228. Tue Feb 27 21:52:21 1996  Juan Grigera <grigera@isis.unlp.edu.ar>
  229.  
  230.     * More Windows NT code.
  231.  
  232. Tue Feb 27 21:52:21 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  233.  
  234.     * ftpfs: Now the program will retry logins if the server is too
  235.     busy. 
  236.  
  237.     * view.c, cmd.c: C-f and C-b will take you to the previous and
  238.     next files on the panels.
  239.  
  240. Fri Feb 23 08:51:44 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  241.  
  242.     * tree.c (my_mkdir_rec): Do not create recursive directories if
  243.     the file system is not the local one.  I should actually fix this
  244.     to use a routine that checks if the pathname is already at the top
  245.     directory for that filesystem.
  246.  
  247. Wed Feb 21 09:58:22 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  248.  
  249.     * ftpfs.c: fix symlink file handling for ftpfs file systems.  If we are a
  250.     symlinks and follow symlinks is set, we should operate on the
  251.     pointed to file stat information, not the symlink information.
  252.  
  253.     * ftpfs.c (open_command_connection): Setup the proxy field, added
  254.     retry code for ftp.
  255.  
  256. Fri Jan 19 12:00:00 1996  Mark Olesen (olesen@weber.me.queensu.ca)
  257.  
  258.     * Include config.h allways before any other include file, this
  259.     fixes compilation on AIX.
  260.     
  261. Fri Jan 19 12:00:00 1996  Miguel de Icaza
  262.  
  263.         * subshell.c (init_subshell): Enable the interrupt key when doing
  264.         the feed subshell, if the subshell code hangs, we will turn of the
  265.     subshell support and allow the user to press C-c.
  266.     
  267. Tue Jan 16 11:28:58 1996  SGI portability fixes.
  268.  
  269.         * I lost the mail with the author name, could you tell me who are
  270.           you? 
  271.  
  272.     * widget.h: removed enum names.  Broken sgi compiled complains
  273.     about this.
  274.     
  275.     * tar.h: Removed trailing ,.
  276.  
  277.     * dir.h: Define sort_orders as external.
  278.  
  279. Tue Jan  9 11:47:47 1996  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  280.  
  281.     * configure.in: Define USE_SETUPTERM only if the sample program
  282.     included in configure is compiled successfully.  This is required
  283.     because some systems have setupterm but are lacking the macros we
  284.     need. 
  285.  
  286. Tue Jan  2 17:01:23 1996  Carl Thompson  <miguel@athena.nuclecu.unam.mx>
  287.  
  288.     * subshell.c (init_subshell): Use the builtin $cwd variable and
  289.     echo instead of invoking an external pwd command.  This fixes
  290.     follow links.
  291.  
  292. Sun Dec 31 17:46:39 1995  Ching Hui <u811563@Oz.nthu.edu.tw>
  293.     
  294.     * layout.c (print_vfs_message): Check midnight_shutdown first.
  295.  
  296. Fri Dec 29 19:10:25 1995  Juan Grigera <grigera@isis.unlp.edu.ar>
  297.  
  298.     * various portability changes to the Midnight Commander so that it
  299.      runs under Windows NT.
  300.  
  301. Fri Dec 29 19:09:23 1995  Antonio Palama <palama@posso.dm.unipi.it>
  302.  
  303.     * main.c: For Windows NT, Juan Grigera hacked the drive_cmd.
  304.  
  305. Tue Jan  2 00:51:12 1996  Jakub Jelinek   <jj@sunsite.mff.cuni.cz>
  306.  
  307.     * complete.c (filename_completion_function): Fixed one completion
  308.     related bug.
  309.  
  310.     * ftpfs.c (store_file, ftpfs_open): Fixed uploading of files using
  311.     ftp.
  312.  
  313.     * ftpfs.c (ftpfs_chown): Don't always cry that you cannot chown
  314.     using ftp - everyone should know it and who cares - but for root
  315.     this was shouting for each file :(
  316.  
  317.     * vfs.c, undelfs.c: Changed the vfs prefix to `undel:' from
  318.     `undelfs:'. So you specify cd undel:/dev/hda1. This is similar
  319.     to how we do ftp (not ftpfs://) etc.
  320.  
  321.     * vfs.c (parse_ls_lga): Made more robust, so that it handles again
  322.     listings from extfs (with all date formats), doesn't mind if someone
  323.     is not supplying gid and handles even if major,minor are printed
  324.     without an intervening space (like 14,5).
  325.  
  326.     * vfs.c (vfs_canon): Fixed a bug, which made an endless loop when
  327.     trying to enter an extfs archive (like zip:), where the archive name
  328.     was not absolute. Together with the previous bug fix, zip files
  329.     should work again well :)
  330.  
  331. Sat Dec 23 16:55:54 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  332.  
  333.     * vfs/undelfs.c, vfs/vfs.c: Add support for the Undelete file
  334.     system. 
  335.  
  336. Sat Dec 23 16:55:25 1995  Ching Hui <u811563@Oz.nthu.edu.tw>b
  337.  
  338.     * configure.in: Fixed bug in curses detection for OSF/1. 
  339.     sltermin.h: include config.h.
  340.  
  341. Thu Dec 21 19:25:48 1995  Carl Thompson    <clip@clip.clark.net>
  342.  
  343.     * file.c: This is just a one line patch to fix a bug in the
  344.      Midnight Commander. When a delete operation is attempted while
  345.      delete confirmation is turned off, it pops up a destination
  346.      directory dialog box instead of just deleting the file.  This
  347.      dialog box is unused and defeats the purpose of having delete
  348.      confirmation off.
  349.  
  350. Mon Dec 18 18:44:16 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  351.  
  352.     * main.c (midnight_callback): Do not handle the +, - and / keys
  353.      specially if the panel is in search mode.
  354.  
  355. Fri Dec 15 12:38:18 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  356.  
  357.     * file.c (copy_dir_dir): When copying directories recursively,
  358.      make sure the directory have write permission.  Before returning,
  359.     use chmod to set the correct directory attribute.
  360.  
  361. Sat Dec 16 16:40:14 1995  Jakub Jelinek  <jj@sunsite.mff.cuni.cz>
  362.  
  363.     * util.c (resolve_symlinks, diff_two_paths): New utility functions:
  364.     the first one traces a symlink as much as possible, so that the
  365.     final returned (mallocated) path contains no symlink steps at all.
  366.     The latter one takes two paths and creates a relative path from the
  367.     first one to the second one, as short as possible.
  368.  
  369.     * file.c: Stable symlinks should now keep relative symlinks
  370.     relative, using the above mentioned functions.
  371.  
  372.     * panel.h: Switches some boolean flags into a bit-field.
  373.  
  374.     * cmd.c, screen.c: Directory total should be now displayed
  375.     correctly, i.e. if not Show Dir Sizes is active, it shouldn't count
  376.     them at all, if it is active, it should sum these sizes as well and
  377.     when changing from not active to active (via F9 C I) or back (C-R),
  378.     adapt the total correctly :)
  379.  
  380.     * vfs.c (parse_ls_lga): Should now handle No{v,tw}ell listings
  381.     as well.
  382.  
  383.     * cmd.c (other_symlink_cmd): New command - C-x C-l. Makes a relative
  384.     symlink to the selection of the current panel, defaults to a file
  385.     in the other panel. The symlink value is shortest possible, so that
  386.     it may optionally fit into inode itself, if the fs supports this.
  387.  
  388. Thu Dec  7 13:15:30 1995  Sergey Ya. Korshunoff <root@seyko.msk.su>
  389.  
  390.     * layout.c (layout_callback): Fixed the constants for the menubar.
  391.  
  392.     * If we try turn off command prompt from Option->Layout,
  393.     then we will see command propt again (no Hint if it
  394.     turned on).
  395.  
  396.     * widget.c:  Removing first element from User listing mode list
  397.      causes crash. 
  398.  
  399. Thu Dec  7 13:00:20 1995   Jakub Jelinek <jj@sunsite.mff.cuni.cz>
  400.  
  401.     * file.c: Stable symlinks works for copying (i.e. the symlink
  402.     points to the location it should), but it is not like I would
  403.     like it to be - there has to be an algorithm, which will try
  404.     to reduce the size of the symlink as much as possible and
  405.     not just making absolute symlinks from relative :( This is only
  406.     a short time solution. 
  407.  
  408. Thu Dec  7 00:00:00 1995   Jakub Jelinek <jj@sunsite.mff.cuni.cz>
  409.  
  410.     * cmd.c (edit_symlink_cmd): New function, binded to C-x C-s.
  411.     Allows to edit the content of the symlink.
  412.     
  413.     * file.c: Move should now work when dive_into_subdirs is not
  414.     set, i.e. you can finally move two similar subtrees into one.
  415.     It tries to use move as much as possible and where it is not
  416.     possible, it does a copy and delete strategy. Also, prepared things
  417.     for next patch, which will allow copying/moving of relative symlinks,
  418.     so that they'll point to the same location as before.
  419.     
  420.     * setup.c: Users can save their defaults of dive_into_subdirs
  421.     into mc.ini.
  422.     
  423.     * help.c, xv/xvhelp.c, xv/xvscreen.c: xv edition should now compile :)
  424.     
  425.     * screen.c: New keystroke M-l, which chdirs in the other panel to
  426.     directory where current symlink points to (even if it doesn't point
  427.     to a directory - then other panel will become the directory where a
  428.     file the symlink points to is located).
  429.     
  430.     * main.c (copy_current_readlink, copy_other_readlink): New keystrokes
  431.     C-x r, C-x C-r. If current/other panel's selection is a symlink,
  432.     readlink value will be inserted into the command line.
  433.     
  434. Wed Dec  6 13:21:21 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  435.  
  436.     * ftpfs.c (ftpfs_chdir): Better reconnect code on chdir.
  437.  
  438.     * vfs.c (parse_ls_lga): ftpfs will work with directories that have
  439.     spaces in their name (".. " and ". ." will both work for example).
  440.     
  441.     (parse_ls_lga): Support for servers that do not provide the
  442.     groupname even when asked to.
  443.  
  444. Wed Dec  6 11:01:17 1995  Sergey Ya. Korshunoff <root@seyko.msk.su>
  445.  
  446.     * mc.lib, win.c: Handle some more key pad keys on the
  447.     use_alternate_keypad_mode.
  448.     
  449.     * main.c (midnight_callback): New option only_leading_plus_minus=1
  450.      in ~/.mc.ini set special treatment for '+', '-', '*' in command
  451.      line (select, unselect, inverse selection) only if command line is
  452.      empty. No need to qoute this characters in middle of command
  453.      line. But we cant change selection when command line is not empty.
  454.  
  455.     
  456.     * main.c (midnight_callback): Added missing terminator for the
  457.     default_map keyboard map.
  458.     
  459.     * main.c (done_mc_profile): Do not sync_profiles if
  460.     auto_save_setup is not set.  This plus the fix below should avoid
  461.     most cases of .mc.ini overriding (the exceptions are when the
  462.     hotlist or the panelize options commands are used).
  463.  
  464. Wed Dec  6 11:00:00 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  465.  
  466.     * panelize.c (save_panelize), hotlist.c (save_hotlist): call
  467.     sync_profiles since now at program shutdown if auto-save setup is
  468.     not set we won't do the updating.
  469.  
  470. Mon Dec  4 11:32:02 1995  Ching Hui <u811563@Oz.nthu.edu.tw>
  471.  
  472.     * sltermin.c: Provide an alternate way if setupterm is defined on
  473.     curses to retrieve terminal capabilities.  This fixes the line
  474.     drawing problems on OSF/1 (and hopefully on AIX as well).
  475.     
  476. Mon Nov 27 21:08:41 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  477.  
  478.     * tree.c (load_tree): Finally fixed the tree-loading crash when
  479.     the .mc.tree file was corrupt.
  480.     (tree_key): Do not eat characters not meant for the trereree below
  481.     ' '. 
  482.  
  483. Fri Nov 24 19:54:01 1995   Ilya Rybkin (rybkin@rouge.phys.lsu.edu)
  484.  
  485.     * user.c (strip_ext): Basename macor (%b, %B)
  486.     * user.c: Do not add space to temporary files, so that the #!
  487.     works for the script files.
  488.  
  489.     * key.c: Allow the M-? sequence to be generated (find file).
  490.  
  491.     * wtools.c: Do not make the cancel button the default action.
  492.  
  493. Thu Nov 23 13:51:11 1995  Ching Hui <u811563@Oz.nthu.edu.tw>
  494.  
  495.     * slint.c (slang_init), sldisply.c: Fix the USE_TERMCAP usage.  It
  496.     should now allow FreeBSD and Nextstep users to use the arrow keys.
  497.  
  498. Mon Nov 20 14:25:59 1995  Ching Hui <u811563@Oz.nthu.edu.tw>
  499.  
  500.     * main.c (main): Call vfs shut before shutting down the window system.
  501.  
  502. Thu Nov 16 23:08:17 1995  Jakub Jelinek  <jj@sunsite.mff.cuni.cz>
  503.  
  504.     * lib/Makefile.in: Fixed install goal for the mc.ext file.
  505.  
  506.     * file.c (copy_file_file): If appending, do not change mtime &
  507.     owner & permissions - leave them all untouched as they were at
  508.     the original target file you were appending to.
  509.  
  510.     * widget.c, cmd.c: Changed input line history behaviour.
  511.     Now the history shouldn't remember same lines when they follow
  512.     each other, then shouldn't remember empty lines at all, but
  513.     also, once a line is added into history, it should stay there
  514.     forever, so that you can repeat it again (previously, if you've
  515.     moved using M-p and M-n onto any line in the history and changed
  516.     it, you lost the original line from the history).
  517.  
  518. Wed Nov 15 12:22:47 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  519.  
  520.     * ftpfs.c (command, is_connection_closed, ftpfs_chdir): Check for
  521.     dropped connections.  In the past the is_connection_closed routine
  522.     actually attempted to read from the connection but this caused a
  523.     problem (remember the hang connections for small files?).
  524.  
  525.     (ftpfs_setctl): vfs_canon the filename.
  526.  
  527. Mon Nov 13 10:28:42 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  528.  
  529.     * ftpfs.c (ftpfs_ctl): Now it will be able to flush the directory
  530.     cache (used by C-r in the main program);  increased the ftpfs
  531.     directory timeout;  C-r now works for ftp file systems.
  532.  
  533.     * profile.c: increased the line size to 4k, should fix this and do
  534.     something better.
  535.  
  536. Wed Nov  8 10:04:55 1995  Sergey Ya. Korshunoff <root@seyko.msk.su>
  537.  
  538.     * widget.c (listbox_remove_current): listbox_remove_current:
  539.     free() at subroutine end make free not old current position but
  540.     new one.  Removing all entries in the listbox causes problems when
  541.     routine return. This patch don't allow listbox with no
  542.     elements. IMHO it's not bad (we always show something insteed of
  543.     nothing)
  544.  
  545.     * wtools.c (remove_callback): On listbox with user display formats
  546.     <r> hot key removes entry and show new listbox state. When we
  547.     select [Remove] button with mouse or <TAB>, then we dont see new
  548.     listbox state. Ugly hack, but works OK.
  549.  
  550.     * layout.c (swap_panels): Fixed crash:  Now we change the
  551.     definitions of left_panel and right_panel.
  552.  
  553.     * chmod.c (chmod_refresh): use REVERSE_COLOR instead of
  554.     normal_color. 
  555.  
  556.     * color.h: COLOR_FOCUS now uses A_BOLD instead of A_REVERSE,
  557.     COLOR_HOT_FOCUS is now 0 inseat of REVERSE|BOLD.
  558.  
  559.     * tree.c: Different colors 
  560.  
  561.     * boxes.c (display_callback): After selecting user listing format
  562.     from listbox we see  old format string. When we press LEFT, RIGHT
  563.     or other key we see a new one.
  564.  
  565. Thu Nov  2 17:03:37 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  566.  
  567.     * ftpfs.c (ftpfs_ctl): Clear the localname
  568.     (ftpfs_ungetlocalcopy): Keep in sync: if we free
  569.     local_filename in an ftpfsentry, clear it.  
  570.  
  571. Tue Oct 31 16:57:57 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  572.  
  573.     * help.c (interactive_display): I wonder why I code so badly?
  574.  
  575. Mon Oct 30 16:16:22 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  576.  
  577.     * view.c (view_handle_key): Some additions so that in the future I
  578.     will be able to make the viewer work as tail -f [Not yet ready].
  579.  
  580.     * dlg.h: New WIDGET_IDLE message.  W_WANT_IDLE flag defined.
  581.  
  582.     * dlg.c: The default routine for dialogs now handles the DLG_IDLE
  583.     message and broadcasts it to all the widgets in the current Dialog
  584.     head. 
  585.  
  586.     * ftpfs.c (ftpfs_ctl): Get the reply before closing the data
  587.     connection.  (command, get_line, get_line): Keep a log of the ftp
  588.     dialog (also new flag on main.c)
  589.  
  590. Mon Oct 30 11:26:09 1995  Sergey Ya. Korshunoff <root@seyko.msk.su>
  591.  
  592.     * slgetkey.c: move the DEC 8bit hack to the slint.c file.
  593.  
  594.     * boxes.c (display_callback): Button 'u' did not work as the other
  595.     buttons. 
  596.  
  597.     * boxes.c (display_callback): User listing format selection by C-c
  598.     don't work with SLANG. SLANG convert C-c to C-g. This patch
  599.     correct this. But emove patch from list dont wotk (general
  600.     protection error)
  601.  
  602.     * screen.c (paint_frame): Moving files in brief panel format
  603.     corrected. (move_up, move_down): Allows to configure if scrolling
  604.     is going to be line by line or page by page with the
  605.     panel_scroll_pages setting.
  606.  
  607.  
  608.     * view.c (view_labels): Don't setup wrap mode on in view module
  609.     every time when view called.  Show UnWrap label when wrap_mode on.
  610.  
  611. Mon Oct 30 11:17:25 1995  Gerd Knorr <kraxel@cs.tu-berlin.de>
  612.  
  613.     * configure.in, mc.ext.in: Use autoconf for the MANDOC and -Tascii
  614.     detection instead of doing our own seding at make time.
  615.  
  616. Thu Oct 26 18:03:50 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  617.  
  618.     * file.c (check_hardlinks): Avoid hardlink checks only if
  619.         vfs_file_is_ftp.
  620.  
  621.     * vfs.c (vfs_file_is_ftp): guess.
  622.  
  623. Tue Oct 24 17:36:15 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  624.  
  625.     * help.c (interactive_display): Help should not crash at help
  626.     startup when prev_node_cmd is invoked.
  627.  
  628. Thu Oct 26 15:15:04 1995  Jakub Jelinek  <jj@sunsite.mff.cuni.cz>
  629.  
  630.     * file.c (check_hardlinks): Hack, so that no more cyclic hardlinks
  631.     appear on Slowaris - stupid kernel, which makes it possible to
  632.     link directories :(. Disabled hardlink cache for all non-local
  633.     vfs's. Where do we need it? Ftp cannot handle it, tar is still read
  634.     only, mcfs perhaps?
  635.  
  636.     * cmd.c ((un)select_cmd): Fixed a problem when .. directory is a
  637.     symlink (i.e. grand parent of current directory is a symlink).
  638.  
  639. Tue Oct 24 11:09:05 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  640.  
  641.     * main.c (create_panels): Loading of the proper other directory at
  642.     startup. 
  643.  
  644. Fri Oct 20 19:55:48 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  645.  
  646.     * subshell.c (init_subshell): ZSH: use pwd>&%d instead of
  647.     pwd>>&%d, I hope to get this one right this time.
  648.  
  649. Wed Oct 18 17:58:11 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  650.  
  651.     * panelize.c (do_external_panelize): fixed the ghost marked files
  652.     when panelizing.
  653.  
  654. Tue Oct 17 19:15:10 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  655.  
  656.     * vfs.h: ftp copies should work on the alpha again.
  657.  
  658. Thu Oct 12 16:44:02 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  659.  
  660.     * file.c (copy_file_file: for the ftpfs case): Instead of
  661.     incrementing the file size by 8192 bytes, we should increment by
  662.     the actual bytes trasfered
  663.  
  664. Wed Oct 11 20:19:28 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  665.  
  666.     * ftpfs.c (ftpfs_ctl): Now the FINISHREMOTE message actually
  667.     aborts the ftp transfer.0
  668.  
  669.     * slang.h: Fixed color problem on some linuces with the Unicode
  670.     support.  Now we only define linux_unicode here if we are on linux
  671.     and there is support for it.  This caused the strange non-color
  672.     problem on some versions of Linux.
  673.  
  674. Wed Oct 11 13:09:27 1995  Adam Tla/lka <atlka@sunrise.pg.gda.pl>
  675.  
  676.     * help.c (show): Puts the cursor over the currently selected link.
  677.  
  678.     * xnc.hlp: Fixed the help corrupt problem.
  679.  
  680. Sat Oct  7 16:40:21 1995  Jakub Jelinek    <jj@jfch.vc.cvut.cz>
  681.  
  682.     * file.c, ftpfs.c: First trial to make copying from FTPFS work as
  683.     it should work, i.e. if we have no local copy yet, copy it directly
  684.     and not through temp and also copy it from within the main
  685.     copy_file_file loop and not fetch it before and then copy the local,
  686.     so that e.g. the progress bar will be displayed correctly.
  687.  
  688. Thu Oct  5 15:35:36 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  689.  
  690.     * cmd.c (view_other_cmd): It's obvious that one of this days I
  691.     will have to learn programming and to write bug free code for
  692.     programs that are > 10 lines.
  693.  
  694.     Now, the good news: Finally I got rid of the ugly constant in
  695.     terms.c for changing the font on xterms (the esc + "(" + 0 thing),
  696.     this means that the kanji char set should work on the viewer and
  697.     also means that slang will redraw correcly the screen.
  698.  
  699.     * main.c (setup_mc_viewer): Create a fake panel for the viewer
  700.     when the mc is invoked in viewer mode.  Needed, since
  701.     expand_format will want to use cpanel to extract the file name.
  702.  
  703.     * cmd.c (view_other_cmd): C-o should give a shell even for users
  704.     without the subshell support.  I'm not sure if this is a good
  705.     idea. 
  706.  
  707. Wed Oct  4 13:45:21 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  708.  
  709.     * ftpfs.c (retrieve_file): Moved the disable_interrupt_key to the
  710.     error_3 section.
  711.  
  712.     * find.c (find_callback): Now you can use F3 and F13 to view at
  713.     the files found on the find panel without leaving the find box.
  714.  
  715.     * view.c (do_view_init): Implemented view markers, use nm and nr
  716.     (where n is a number between 0 and 9) to set the nth mark and to
  717.     jump to the nth part respectively
  718.  
  719.     * main.c (create_panels): Current panel set to a panel that is in
  720.     the view_listing mode (before it was set always to the left_panel).
  721.  
  722. Thu Sep 28 12:06:46 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  723.  
  724.     * help.c (interactive_display): Really, this time the help is fixed.
  725.  
  726.     * vfs.c (vfs_stamp_path): Provide a way to stamp the file systems
  727.     that are on the panels.  This is called from main.c just before
  728.     disposing the panels, so that the vfs's have a chance to shutdown
  729.     (and cleanup /tmp as torben reported :-)
  730.  
  731.     * option.c: Replaced 8-bit display with navigate-with-arrows,
  732.     since Display Bits already handles the 8 bit setting.
  733.  
  734.     * learn.c (learn_save): Loop only from 0 to learn_total.  The
  735.     learnkeys array is smaller than the key_name_conv_tab (fixes a
  736.     crash on hp-ux).
  737.  
  738.     * screen.c: Now the F13 should clear also the search status.
  739.  
  740.     * view.c (change_viewer): Fixed program crash when the viewer was
  741.     invoked as a filtered view.
  742.  
  743.     * dir.c (do_load_dir): Ok, we can open a directory, but I have
  744.     found the first empty directory in my life (no . nor ..: the
  745.     remote systems nfs directory does not exist any longer).
  746.  
  747. Wed Sep 27 11:07:43 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  748.  
  749.     * main.c (do_nc): Starting the Midnight Commander as a file viewer
  750.     should be faster now
  751.  
  752.     * view.c (view_handle_key): Started implementation of reverse
  753.     search, use the C-r and '?' keys to activate normal and regex
  754.     reverse search respectively.  May still have bugs.
  755.  
  756.     * ftpfs.c (open_command_connection): Initialize the complete
  757.     bucket structure, this fixes the crash when the password is not
  758.     answered (when tryingo to reconnect to an ftp server).
  759.  
  760.     * util.c (strip_home): Check return values from ftpfs_gethome and
  761.     mcfs_gethome. 
  762.  
  763.     * boxes.c (display_bits_box): Stupid bug fixed: now it should
  764.     reflect the internal setting of the display variables.
  765.  
  766.     * help.c (interactive_display): Now history_ptr always is between
  767.     0 and HISTORY_SIZE - 1, this should fix the crash reported by
  768.     Thanh.
  769.  
  770.     * view.c (block_search, search): small changes (should be somewhat
  771.     faster).
  772.  
  773.     * main.c (setup_mc): Add the select channel for load_prompt after
  774.     panels have been created (so, calling get_event before this
  775.     (mc_chdir on an ftpfs may do this) won't try to invoke the load
  776.     prompt routine).
  777.  
  778. Wed Sep 27 11:03:21 1995  Gerd Knorr <kraxel@cs.tu-berlin.de>
  779.  
  780.     * main.c (handle_args, create_panels, setup_mc):  Allowed the
  781.     program to be passed a vfs path name by making the mc_chdir call
  782.     to be done after slang has been setup (the ftpfs and mcfs both may
  783.     need to use slang to ask for a password).
  784.  
  785. Tue Sep 26 20:38:57 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  786.  
  787.     * view.c (view_callback): Removed call to view_status before
  788.         view_update on WIDGET_KEY message, this should work, if not, I
  789.         should put it back or put the view_updated on the proper places.
  790.     (search): On non-hex view the viewer now shows the search status.
  791.     (block_search): Coded but untested: also the hex view should
  792.     report the search status.  I wonder if it will work.
  793.  
  794.     * boxes.c: 8 bits should work now with slang correctly.
  795.  
  796. Tue Sep 26 11:36:12 1995  Jakub Jelinek  (jj@jj)
  797.  
  798.     * screen.c: If a column for size is more narrow than actual size
  799.     can fit in, show number of Kilobytes or Megabytes or Gigabytes
  800.     instead and do not strip the most important digits (like e.g. 
  801.     a 4e6B file was shown equally to a 104e6 file).
  802.  
  803. Sat Sep 23 00:27:05 1995  Jakub Jelinek  (jj@jfch.vc.cvut.cz)
  804.  
  805.     * mc.sgml, linuxdoc-sgml.diff: I hope I have managed to fix the
  806.     problems I has been aware of with backslashes, tildes etc. I do not
  807.     know about any further conversion problem.
  808.  
  809. Thu Sep 21 20:21:59 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  810.  
  811.     * widget.c (button_callback): Global kill ring.
  812.  
  813. Thu Sep 21 23:09:12 1995  Jakub Jelinek  (jj@jfch.vc.cvut.cz)
  814.  
  815.     * converted the documentation to mc.sgml (linux-doc DTD), so that
  816.     from one source (mc.sgml) you can generate mc.1, mc.hlp, mc.texi,
  817.     mc.info, mc.html, mc.tex, mc.dvi, mc.ps, mc.txt (and some other
  818.     formats). To convert this, you have to install Matt Welsh's
  819.     linuxdoc-sgml-utils and apply patch from the our doc directory.
  820.     (linuxdoc-sgml is only name of the dtd, it is not useful for Linux
  821.     only, but the name is like this only because linuxdoc sgml utilities
  822.     were developed primarily for Linux HOWTO documentation and LDP).
  823.     src/mc.hlp file is generated from mc.sgml, so you can get some
  824.     feeling.
  825.  
  826.     * configure.in: Fixed an awful bug with the gpm library.
  827.  
  828. Thu Sep 21 11:56:08 1995  John E. Davis (davis@space.mit.edu)
  829.  
  830.     * sldisply.c: Should now use the acsc definition from the terminal
  831.     database instead of the hardcoded values.
  832.  
  833. Thu Sep 21 11:13:41 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  834.  
  835.     * main.c (handle_args): Now you have to use the -v [file] flag to make
  836.     the Midnight Commander start up in the viewer mode on the file file.
  837.  
  838. Wed Sep 20 16:38:44 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  839.  
  840.     * achown.c (next_file): Chown and advanced chown should work now
  841.     when setting all of the tagged files.
  842.  
  843.     * wtools.c (input_dialog_help): Input dialogs now have nice
  844.     buttons so that mouse users will not complain
  845.     (create_listbox_window): Added cancel button.
  846.  
  847.     * tcputil.c (lookup_netrc): Avoid a program crash.
  848.  
  849.     * help.c (help_event): Fixed crash when the user pressed the left
  850.     too  long.
  851.  
  852. Wed Sep 20 10:16:27 1995  Ching Hui  <Nicholas@u811571.JEN.AB.nthu.edu.tw>
  853.  
  854.     * panelize.c: Fix the hang problem on OSF/1.
  855.  
  856.     * subshell.c: Open the slave side of the pty on the parent code
  857.     just after opening the master side, then close it on the parent
  858.     code.  No need to use the sigusr1 sync code anymore and it's
  859.     working on Solaris, Linux and OSF/1.
  860.  
  861. Tue Sep 19 21:04:25 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  862.  
  863.     * view.c (view_new): Initialize last_read, should fix the bug
  864.         with reformatting pages.
  865.  
  866.     * user.c (check_format_var): Added the %var macro.  Now tcsh users
  867.     will be able to use the stock mc.ext file.
  868.  
  869.     * ftpfs.c (send_ftp_command, ftpfs_hint_reread): Now you can
  870.     specify blocks of operation that will disable ftp's code to reread
  871.     the directory on each operation.
  872.  
  873. Sat Sep 16 18:56:51 1995  Alessandro Rubini  <rubini@ipvvis.unipv.it>
  874.  
  875.     * Makefile.in: Abort make process if one of the submakes fails.
  876.  
  877. Sat Sep 16 18:56:51 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  878.  
  879.     * tcputil.c (open_tcp_link), ftpfs.c (ftpfs_open_socket): Check for
  880.         empty hostnames.
  881.  
  882. Sat Sep 16 18:33:38 1995  Perry Francis Nguyen <pfnguyen@netcom.com>
  883.  
  884.     * subshell.c: Fixed the subshell hanging when the noclobber option
  885.     is set.
  886.  
  887. Sat Sep 16 15:37:41 1995  Dugan O. Porter  (dugan@b011.eunet.es)
  888.  
  889.     * subshell.c: Tidied up a bit and re-created the fold structure.
  890.     (P.S. Try the emacs package folding.el to view/edit subshell.c)
  891.  
  892.     * Makefile.in, */Makefile.in: Made `make distclean' leave the
  893.     directory tree truly pristine.
  894.  
  895.     * key.c, view.c, ext.c, layout.c, complete.c, cmd.c, tcputil.c,
  896.     vfs.c and extfs.c: Fixed some nasty compilation warnings, some of
  897.     which were definite bugs.
  898.  
  899.     * extfs.c: extfs_getlocalcopy wasn't returning any value.
  900.  
  901.     * tcputil.c (ruserpass): Can't use copy_strings() here, because
  902.     mcserv won't link.  Replaced with strcpy() and strcat().
  903.  
  904. Sat Sep 16 01:54:41 1995  Ching Hui  <Nicholas@u811571.JEN.AB.nthu.edu.tw>
  905.  
  906.     * ftpfs.c (resolve_symlink): resolve symbolic links by send the 
  907.     command "LIST -Lla" to server.
  908.  
  909.     * vfs/Makefile.in: delete mcserv.c entry variable NETFILES.
  910.  
  911. Fri Sep 13 23:41:17 1995  Jakub Jelinek  (jj@gnu.ai.mit.edu)
  912.  
  913.     * main.c, key.c: New mc.ini option - alternate_plus_minus.
  914.     If set, plus and backslash keys will work normally (i.e. insert
  915.     + and \), plus/minus/asterix on keypad will select/deselect/reverse
  916.     and M-+, M-- (M-\), M-* will do the same.
  917.  
  918.     * tcputil.c: .netrc support. Currently is angry on users which have
  919.     .netrc readable by anybody else than owner, if it contains any
  920.     non-anonymous password. Perhaps, if it has good permissions, but
  921.     contains secret passwords, we should remember it and instead of
  922.     about 25% hints display a hint to remove them...
  923.  
  924. Wed Sep 13 09:31:12 1995  Jakub Jelinek  (jj@gnu.ai.mit.edu)
  925.  
  926.     * slang/*, main.c, screen.c: Some basic Linux Unicode support.
  927.     I cannot force the kernel to tell current Unicode UTF state, so
  928.     this has to be forced on the command line by running mc -N.
  929.  
  930. Thu Sep 14 23:54:25 1995  Jakub Jelinek  (jj@jfch.vc.cvut.cz)
  931.  
  932.     * util.c (strip_home), vfs.c (vfs_canon), ftpfs.c, mcfs.c:
  933.     Handling of home directory (cd ftp://jfch.vc.cvut.cz/~/private)
  934.     and .. directory in the ftp root (will bring you to the directory
  935.     you have entered ftp from). nice_cd (cd via Network/Ftp link) will
  936.     append the home /~/ for you.
  937.  
  938.     * widget.c (buttonbar_callback): In SLang, paint also buttonbar
  939.     numbers correctly fg on bg.
  940.  
  941. Tue Sep 12 20:21:35 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  942.  
  943.     * ftpfs.c (store_file): Small change to allow compilation on
  944.     primitive systems that use a flag for SO_LINGER instead of a
  945.     struct linger.
  946.  
  947. Tue Sep 12 10:25:01 1995  Jakub Jelinek  (jj@gnu.ai.mit.edu)
  948.  
  949.     * Make.common.in, */Makefile.in, configure.in: Fixed and cleaned
  950.     all the Make.common and dependency stuff. Now we do not patch
  951.     Makefiles for non-GNU make ourselves, but leave that job on
  952.     autoconf. If non-GNU make, we put dependencies into the Makefiles
  953.     and if your make supports stem rules (e.g. %.o : %.c), then
  954.     we use them to avoid unnecessary relinking. Now the dependency
  955.     stuff should always work like you expect.
  956.  
  957. Mon Sep 11 15:05:04 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  958.  
  959.     * menu.c (menubar_paint_idx): Paint first letter when no matching
  960.     hotkey has been found. 
  961.  
  962.     * find.c (do_find): Allow chdir to selected directories
  963.  
  964.     * screen.c (do_file_mark): Do not count the directory size when
  965.     tagging directories.
  966.  
  967.     * slang/: Upgraded Slang to 0.99.20
  968.  
  969.     * menu.c (menubar_event): Fixed the dropping menubar problem with GPM.
  970.  
  971.     * subshell.c: Use the SIGUSR1 syncronization always (before it
  972.     only was used with SysV).
  973.  
  974.     * init_sigchld is now always called from main.c instead of
  975.     allowing the subshell to setup the sigchld handler.  Ching's fixes
  976.     to the waitpid routine (made on Jun 27) make this possible.
  977.     Should finally fix all the problems with SunOS. 
  978.  
  979. Sun Sep 10 02:06:05 1995  Dugan O. Porter  (dugan@b011.eunet.es)
  980.     
  981.        * mcserv.c (get_port_number): there must not be any references to
  982.        IPPORT_RESERVED outside the "#ifdef HAVE_RRESVPORT" block, because
  983.        it probably won't be defined.  Also simplified the code a little.
  984.  
  985. Sun Sep 10 14:57:04 1995  Jakub Jelinek  (jj@jj)
  986.  
  987.     * configure.in, Make*: Make.common handling is now done much cleaner
  988.     using the autoconf features. Also, dependencies now work for all
  989.     make programs, not only GNU. And last, but not least, fixed a thing
  990.     which didn't allow cross-compiling...
  991.  
  992. Sat Sep  9 10:03:13 1995  Jakub Jelinek  (jj@jj)
  993.  
  994.     * */Makefile.in: Moved goals for libvfs.a and libmcslang.a back
  995.     from Make.common.in, since there is a collision in slang and vfs
  996.     directory...
  997.  
  998.     * depend.awk: Fixed so that it never generates duplicate goals.
  999.     A pain are symlinks, but at least my GNU make doesn't find anything
  1000.     suspicious (like there may be goals for src/util.h and xv/util.h,
  1001.     which is a link to ../src/util.h). This is not possible to be done
  1002.     in awk. The perl script will do it correctly...
  1003.  
  1004. Fri Sep  8 17:53:14 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  1005.  
  1006.     * layout.c (set_display_type), screen: Misc fixes.  Containers are
  1007.     not always WPanel *.  I should rewrite the code to use containers
  1008.     for the information that must be shared between panels.
  1009.  
  1010. Sat Sep  9 01:16:11 1995  Ching Hui  <br811563@csa2.cs.nthu.edu.tw>
  1011.  
  1012.     * ftpfs.c (ftpfs_get_current_directory): New function.
  1013.  
  1014.     * ftpfs.c (ftpfs_chdir): remember current remote directory.
  1015.  
  1016.     * ftpfs: The active vfs list now should also report the working
  1017.     directory on an ftpfs. 
  1018.  
  1019. Thu Sep  7 16:59:13 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  1020.  
  1021.     * menu.c: Misc menubar fixes.
  1022.  
  1023.     * tree.c (event_callback): God it was easy to fix one part of the
  1024.     tree bug.
  1025.  
  1026.     * key.c (get_key_code): Simplified the Meta-hanlding.
  1027.  
  1028. Thu Sep  7 12:58:26 1995  Thanh Ma (tma@encore.com)
  1029.  
  1030.     * mcfs.c: Small bug fix: do not return a value from a void routine.
  1031.  
  1032. Thu Sep  7 12:06:27 1995  Juan Jose Ciarlante <jjciarla@raiz.uncu.edu.ar>
  1033.  
  1034.     * subshell.c: On SCO do not compile the TIOCGWINSZ code even if
  1035.     SCO has it.  Wrote SCO versions of pty_open_slave and
  1036.     pty_open_master. 
  1037.  
  1038. Fri Sep  8 02:07:07 1995  Jakub Jelinek  (jj@jj)
  1039.  
  1040.     * depend.awk, */Makefile.in: Alternate make dep mechanism if you
  1041.     have awk. It is much faster (three up to four times) and
  1042.     finds dependencies even for libraries from other directories
  1043.     (libmcslang and libvfs).
  1044.  
  1045. Thu Sep  7 10:45:01 1995  Jakub Jelinek  (jj@jfch.vc.cvut.cz)
  1046.  
  1047.     * Make.common.in, Makefile.in, */Makefile.in: Reorganized, so that
  1048.     commonly used things are all in one file (Make.common), so that
  1049.     e.g. if you want to define other CFLAGS by hand, you go to
  1050.     Make.common. Also, reduces the possibility of errors, since all
  1051.     variables (like the installation paths) have to be typed once.
  1052.     If your make doesn't support include directive, we deal with it
  1053.     in config.status and include it for you instead of make.
  1054.  
  1055.     * view.c (get_line_at): Fixed awful bug which caused view not to
  1056.     find anything on lines longer than 158 bytes.
  1057.  
  1058.     * extfs.c (extfs_init): We now free the extfs.ini profile, so that
  1059.     it won't be overwritten and is thus save to be edited by hand.
  1060.  
  1061. Fri Sep  8 02:48:23 1995  Ching Hui  <Nicholas@u811571.JEN.AB.nthu.edu.tw>
  1062.  
  1063.     * panelize.c (add2panelize_cmd): get the correct input from pname.
  1064.  
  1065.     * ftpfs.c: set errno to 0 before call the fgets.
  1066.  
  1067. Wed Sep  6 10:08:59 1995 Marcelo and Juan Jose jjciarla@raiz.uncu.edu.ar 
  1068.  
  1069.     * src/tty.h: define correctly the macros to enable/disable the
  1070.     keys. 
  1071.  
  1072. Wed Sep  6 10:07:17 1995  Steven N. Hirsch <hirsch@emba.uvm.edu> 
  1073.  
  1074.     * main.c (make_panels_dirty), user.c: Call the get_other_type
  1075.     function, do not compare the address.
  1076.  
  1077. Wed Sep  6 21:11:21 1995  Jakub Jelinek  (jj@jj)
  1078.  
  1079.     * screen.c, dir.c: Show @, ~, ! as file type instead of always @
  1080.     for normal symlinks, symlinks to directories and stalled links
  1081.     (those who point nowhere) at no time costs.
  1082.  
  1083.     * file.c: If you are root, preserve_uidgid is now default.
  1084.  
  1085.     * key.c: Handling of 8th bit for meta even when it has not matched
  1086.     a stored sequence.
  1087.  
  1088.     * learn.c: Now it is not possible to redefine characters from 
  1089.         space to ~.
  1090.  
  1091.     * vfs.c: Per filesystem (un)getlocalcopy. This has an advantage
  1092.     of not copying one local file to the other in case of ftpfs and
  1093.     extfs and saves multiple extracts in tarfs.
  1094.  
  1095.     * vfs.c (parse_ls_lga): Fixes the date problem.
  1096.  
  1097.     * tar.c: Now it should handle even gzipped tar archives inside of
  1098.     tar archives correctly.
  1099.  
  1100.     * vfs/extfs.[ch], vfs/extfs/* (NEW): External filesystem.
  1101.     Not working by default (and won't until we release 3.0), but if
  1102.     you want to try, you can by typing make install.extfs in the
  1103.     vfs directory. Doesn't still handle symlinks to different
  1104.     vfs's (like linux -> ftp://sunsite.unc.edu/pub/Linux) correctly
  1105.     and still read only. If you want to try it, you should also install
  1106.     lib/mc.ext.extfs instead of lib/mc.ext to $(libdir)/mc/mc.ext.
  1107.  
  1108. Tue Sep  5 19:37:35 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  1109.  
  1110.     * find.c (do_find): Find again should work again.
  1111.  
  1112.     * view.c (get_byte): Copy just those bytes on the original page.
  1113.     Electric Fence and Ching found this one.
  1114.  
  1115.     * subshell.c (init_subshell): Removed the check to TIOCSCTTY, from
  1116.     the Emacs sources, it seems like we should ignore the return value.
  1117.  
  1118.     * learn.c (learn_button): Do not define common keys as learned
  1119.     function keys.
  1120.  
  1121. Tue Sep  5 22:59:35 1995  Ching Hui  <br811563@csa2.cs.nthu.edu.tw>
  1122.  
  1123.     * vfs.c (mc_getlocalcopy): call mc_open function before tmpnam 
  1124.     function.
  1125.  
  1126.     * ext.c (exec_extension): check the return value of mc_getlocalcopy.
  1127.  
  1128. Tue Sep  5 23:39:12 1995  Jakub Jelinek    <jj@gnu.ai.mit.edu>
  1129.  
  1130.     * configure.in: fix to the XView and Tk check code - no they really
  1131.     should not be compiled in by default in any case. If I'm wrong,
  1132.     shoot.
  1133.  
  1134.     * key.c: new flag - use_8th_bit_as_meta - is set (by default), input
  1135.     characters greater than 127 are handled as Esc + (c - 128). This is
  1136.     not true if inside of an control sequence. You can suppress this
  1137.     meta handling (if you use your national characters greater than 127)
  1138.     by running mc -m.
  1139.  
  1140.     * screen.c (string_file_size): Show major,minor instead of size
  1141.     for block and character devices.
  1142.  
  1143.     * tar.c, vfs.c: Now I hope tar inside tar should work. At least
  1144.     what I tested (and it was working) tar:tar:1.tgz/2.tar/VERSION
  1145.  
  1146. Mon Sep  4 12:02:37 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  1147.  
  1148.     * setup.c (save_setup), boxes.c (configure_vfs), ftpfs.c
  1149.         (ftpfs_init): Should save/restore all of the VFS settings.
  1150.  
  1151.     * tree.c (tree_event): on double click call chdir.
  1152.  
  1153.     * slint.c (do_define_key): Use SLtt_tgetstr instead of tgetstr.
  1154.     Lately Slang provides the SLtt_tgetstr as an interface to tgetstr
  1155.     and the SLtt_tigetstr.  This should fix the problem Torben had
  1156.     with FreeBSD.
  1157.  
  1158.     * mcserv.c (do_auth): Cancel login if the setuid system call failed.
  1159.  
  1160. Sat Sep  2 20:58:18 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  1161.  
  1162.     * key.c (get_key_code): generate an ALT-key if ESC+key is found
  1163.     when outputing pending_keys.  This should fix the problem with the
  1164.     viewer quiting when some non-recognized key was pressed.
  1165.  
  1166. Fri Sep  1 14:26:49 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  1167.  
  1168.     * main.c: C-x q switches the other panel to Quick View.
  1169.  
  1170.     * dlg.c (dialog_handle_key): Added a call to clr_scr to force
  1171.     ncurses to repaint on C-l
  1172.  
  1173.     * slint.c (slang_init): Do not set the signal handlers that reset
  1174.     the slkang attributes.  They are only useful for the developer.
  1175.     On SunOS they make the program get into a recursive loop (xterm -e
  1176.     program).
  1177.  
  1178.     * subshell.c (TIOCSCTTY):  Pass the 0 argument to this ioctl,
  1179.     SunOS makes a difference between 0 and 1 (this should fix the bug
  1180.     reported). 
  1181.  
  1182. Sat Aug  2 00:38:01 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
  1183.  
  1184.     * vfs/mcserv.c: Now by default ftp validation is not done, to turn
  1185.     it on, you need to use the -f flag.
  1186.  
  1187.     * lib/xterm.ad: X resources to make xterm (not rxvt :( ) work well
  1188.     with most (I hope all) the keys mc works with.
  1189.  
  1190.     * lib/xterm.tcap: Termcap entry for xterm and xterm-color,
  1191.     compatible with sequences send by xterm.ad and compatible with
  1192.     xterm.ti. Those three should be used together.
  1193.  
  1194.     * lib/xterm.ti: Minor changes.
  1195.  
  1196.     * lib/README.xterm: HOWTO on installing these three files.
  1197.  
  1198. Fri Aug  1 13:43:12 1995  Jakub Jelinek    (jj@gnu.ai.mit.edu)
  1199.  
  1200.     * file.c: name_trunc in the file progress dialog.
  1201.  
  1202.     * cmd.c (do_link): Cosmetic changes. Symlink now shows only one
  1203.     dialog instead of two. Link shows name of the file you want link
  1204.     to.
  1205.  
  1206.     * help.c, man2hlp.c: Use HELP_*_COLOR colors in help. Added
  1207.     italic color (no more same as bold).
  1208.  
  1209.     * color.c: User can now define also helpnormal, helpitalic,
  1210.     helpbold, helplink, helpslink and gauge colors.
  1211.  
  1212. Sat Sep  2 02:02:18 1995  Ching Hui  <br811563@csa2.cs.nthu.edu.tw>
  1213.  
  1214.     * ftpfs.c: make all data transfer interruptable.
  1215.  
  1216.     * boxes.c: add anonymous passwd and ftpfs directory cache timeout
  1217.     entry to Virtual FS dialog box.
  1218.  
  1219.     * vfs.c (vfs_path): New function.
  1220.  
  1221.     * dir.c (set_zero_dir): fix possible loop when directory is
  1222.     unreadable.
  1223.     
  1224. Thu Aug 31 13:31:34 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  1225.  
  1226.     * tree.c (event_callback): Focus panel when receiveing a key
  1227.     click;  set the correct event y for panelized trees.
  1228.  
  1229. Thu Aug 31 14:06:11 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
  1230.  
  1231.     * key.c: Rewritten get_key_code. Now has a parameter nodelay,
  1232.     if 0, it behaves like before, if 1, it doesn't ever wait but
  1233.     emulates the behaviour of get_key_code (0), so it returns correct
  1234.     KEY_* and other keycodes instead of sequences. You just have
  1235.     to call it more times (in case all seqence characters are not
  1236.     waiting on stdin). get_key_code (1) handles even old_esc_mode
  1237.     (it uses GET_TIME instead of select).
  1238.  
  1239.     * file.c: Uses get_key_code (1) instead of non-delayed xgetch
  1240.     (otherwise you couldn't use arrow keys etc...)
  1241.  
  1242.     * ext.c (regex_command): fixed behaviour of use_file_to_check_type
  1243.     and initialized a local variable (which could cause in one of
  1244.     4G (perhaps less, 0 are often on the stack) an incorrect behaviour).
  1245.  
  1246.     * configure.in, Makefile.in: create_vcs is installed only on Linux
  1247.     machines.
  1248.  
  1249. Mon Aug 28 13:27:38 1995  Ching Hui  <u811571@JEN.AB.nthu.edu.tw>
  1250.  
  1251.     * ftpfs.c: Check for connection close; beginning of the transfer
  1252.     abortion code. 
  1253.  
  1254. Wed Aug 30 14:15:07 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  1255.  
  1256.     * ext.c (regex_command): Now it will just execute file once
  1257.     instead of one time per type/ in the mc.ext file.
  1258.  
  1259.     * slint.c (slang_shutdown): Output the op capability at program
  1260.     shutdown, this should fix the problem for Thanh.
  1261.  
  1262. Tue Aug 29 18:47:35 1995  Torben Fjerdingstad <tfj@olivia.ping.dk>
  1263.  
  1264.     * mc.menu: Added missing tar definitions.
  1265.  
  1266. Wed Aug 30 11:05:44 1995  Jakub Jelinek    (jj@gnu.ai.mit.edu)
  1267.  
  1268.     * file.c: Removed most of the #ifdef X - text code now uses
  1269.     widgets (label & gauge) as well. Should produce normal dialog colors
  1270.     instead of some strange ones and should be consistent with all the
  1271.     others. Also, Skipping and Aborting should now work well and you
  1272.     won't have to press keys to many times. Also, Enter and Escape
  1273.     should work as well.
  1274.  
  1275.     * widget.c: Finally text mode gauge widget is written.
  1276.  
  1277.     * color.[ch]: Oops, 32 was used by A_REVERSE. I assigned to the
  1278.     default color number 31.
  1279.  
  1280.     * view.c: Added some vi-like, less-like and lynx-like keys for
  1281.     moving in the viewer. We still do not support numbers before moving
  1282.     commands. Should we? At least Ng and NG would be useful (as a short
  1283.     variant of F5 N Enter).
  1284.  
  1285. Tue Aug 29 18:53:26 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  1286.  
  1287.     * boxes.c (tree): Set decent colors for the tree box.
  1288.  
  1289.     * tree.c (tree_new): The tree problem was just that the searching
  1290.     variable was not initialized.
  1291.  
  1292.     * screen.c (repaint_file): Fixed the half panel bug.
  1293.  
  1294.     * subshell.c (pty_open_master): Stupid mistake, will not hang
  1295.     anymore.
  1296.  
  1297.     * view.c (view_handle_key): Return now moves only one line.
  1298.  
  1299. Tue Aug 29 18:47:35 1995  Torben Fjerdingstad <tfj@olivia.ping.dk>
  1300.  
  1301.     * mc.ext: Non destructive mc.ext fixes.  Jakub, please test them.
  1302.  
  1303. Mon Aug 28 16:36:29 1995  Janne Kukonlehto  <jtkl@jysky.oulu.fi>
  1304.  
  1305.     * file.c: Added missing #include <ctype.h>.
  1306.  
  1307.     * listmode.c: Some parts already working: OK, Cancel and General
  1308.     options. Add and Remove almost work. Items listbox and Item
  1309.     options don't work yet.
  1310.  
  1311. Tue Aug 29 14:33:16 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
  1312.  
  1313.     * layout.c (swap_panels): Fixed. Now it should work fine and if
  1314.     there are both view_listings, then it just swappes their content
  1315.     (and not formats etc.), so that you may have one format in the left
  1316.     and a different one in the right panel and if you want to see some
  1317.     things that are in the left for a file on the right, you just C-u.
  1318.  
  1319.     * cmd.c, color.c, sldisply.c: In SLang when default attributes
  1320.     are different than white on black, mc shows command line and 
  1321.     hintbar correctly. You can easily run mc -c on a black on white
  1322.     color xterm and the output is not awful.
  1323.  
  1324. Mon Aug 28 21:12:37 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
  1325.  
  1326.     * icons/: I hope better and nicer icon collection than the previous
  1327.     one. Most of them now have entries in mc.ext.
  1328.  
  1329.     * main.c: Fixed the mc -P problem when the tty is not owned by
  1330.     the user.
  1331.  
  1332.     * dir.c (handle_dirent): Added one test that causes panelize
  1333.     not to add files that are not on the disk (so it is possible
  1334.     to e.g. cat any list of files and panelize will add to the
  1335.     panel only the existing ones).
  1336.  
  1337.     * main.c: Sets xterm window title to GNU Midnight Commander.
  1338.  
  1339. Wed Aug 30 00:51:28 1995  br811563  <br811563@csa2.cs.nthu.edu.tw>
  1340.  
  1341.     * ftpfs.c (get_line): fix mc block when socket is closed.
  1342.  
  1343.     * tar.c (uncompress_tar_file): fix core dump when popen failed.
  1344.  
  1345.     * tar.c (tarfs_get_path): return error when tar archive open 
  1346.     failed.
  1347.     
  1348. Mon Aug 28 13:27:38 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  1349.  
  1350.     * layout.c (change_screen_size), view.c (view_adjust_size): Add
  1351.     screen resizing to the viewer.
  1352.  
  1353.     * terms.c: (do_enter_ca_mode):  Hard code the font switch "ESC)0".
  1354.  
  1355.     * key.c (get_event): Will now delay calls to refresh if there is
  1356.     input pending.
  1357.  
  1358.     * cmd.c (nice_cd): Really, this time I fixed the problem with the
  1359.     menus opening a ftp connection or net connection in the right panel.
  1360.  
  1361. Mon Aug 28 13:27:38 1995  Ching Hui  <u811571@JEN.AB.nthu.edu.tw>
  1362.  
  1363.     * ftpfs.c: Switched to file descriptors again.
  1364.  
  1365. Sun Aug 27 16:43:20 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  1366.  
  1367.     * layout.c: Include termios.h, otherwise we don't get a resizing
  1368.     Midnight Commander on Solaris.
  1369.  
  1370.     * view.c (search): Allow search aborting.
  1371.  
  1372.     * key.c (get_key_code): Handle the ESC+number inside get_key_code;
  1373.     handle esc+space; use push_char/goto pend_send instead of returing
  1374.     the key code to keep the internal sequence tracker on sync.
  1375.  
  1376.     * subshell.c (pty_open_master): Will retry pty opening
  1377.  
  1378.     * panelize.c (do_external_panelize): Do not free() the command,
  1379.     let the parent handle this.
  1380.  
  1381. Sun Aug 27 12:52:36 1995  Torben Fjerdingstad <tfj@olivia.ping.dk>
  1382.  
  1383.     * FAQ, doc/mc.1: Spelling fixes.
  1384.  
  1385. Sat Aug 26 20:45:00 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
  1386.  
  1387.     * learn.c: Now the left and right keys move among columns and the
  1388.     vi's h, j, k, l work as well.
  1389.  
  1390.     * wtools.c: It is now possible to specify a particular position
  1391.     of quick dialog - this is used for M-c.
  1392.  
  1393.     * Fixed the problem with xterm mouse.
  1394.  
  1395. Sun Aug 27 11:05:43 1995  Ching Hui  <u811571@JEN.AB.nthu.edu.tw>
  1396.  
  1397.     * ftpfs.c: fix connection refused and connection close from 
  1398.     server bugs.
  1399.  
  1400.     * ftpfs.c (ftpentry_destructor): fix memory corruption bug.
  1401.     
  1402.     * ftpfs.c (ftpfs_chmod): use non-standard "SITE CHMOD" command.
  1403.  
  1404.     * ftpfs.c (_get_file_entry): upload zero length to check the write
  1405.     permission.
  1406.  
  1407. Sun Aug 27 11:05:43 1995  Ching Hui  <Nicholas@u811571.JEN.AB.nthu.edu.tw>
  1408.  
  1409.     * ftpfs.c: fix connection refused and connection close from 
  1410.     server bugs.
  1411.  
  1412.     * ftpfs.c (ftpentry_destructor): fix memory corruption bug.
  1413.     
  1414.     * ftpfs.c (ftpfs_chmod): use non-standard "SITE CHMOD" command.
  1415.  
  1416.     * ftpfs.c (_get_file_entry): upload zero length to check the write
  1417.     permission.
  1418.  
  1419. Fri Aug 25 13:11:55 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  1420.  
  1421.     * view.h: Yes, very funny, we need unsigned chars, otherwise we
  1422.     get those funny (char) 0377 -> (int) -1 conversions.  Now, the
  1423.     search should work on Piped files.
  1424.  
  1425.     * view.c (get_line_at): Fixed the search routine.  Now, the
  1426.     get_line_at routine will skip over nulls.
  1427.  
  1428.     * main.c (repaint_screen): Command line and panels should be
  1429.     repainted correctly after executing a command.
  1430.  
  1431.     * configure.in: SCO library detection
  1432.  
  1433.     * fs.h: MC_MAXPATHLEN is the MAXPATHLEN or 1024 on systems that do
  1434.     not define it (SCO), we should actually use pathconf.
  1435.  
  1436.     * tar.c (tarfs_fill_names): Report the tar file names.
  1437.  
  1438.     * container.c (linklist_delete): bug fixed: need to increment the
  1439.     h pointer.
  1440.  
  1441.     * widget.c (listbox_drawscroll): Presentation bug fix.
  1442.  
  1443.     * util.c (my_system): do not block SIGCHLD anymore.
  1444.  
  1445. Fri Aug 25 13:11:55 1995  Juan Jose Ciarlante <jjciarla@raiz.uncu.edu.ar>
  1446.  
  1447.     * util.c (truncate, my_ftruncate): Provide truncate for systems
  1448.     that lack it (SCO).
  1449.  
  1450. Fri Aug 25 13:18:18 1995  Janne Kukonlehto  (jtklehto@paju)
  1451.  
  1452.     * Makefile.in: Added listmode.c, listmode.h and listmode.o
  1453.  
  1454.     * boxes.c (display_callback): Renamed Display mode dialog to
  1455.     Listing mode. I think the dialog names should correspond to the
  1456.     names of the menu entries where they are invoked.
  1457.  
  1458.     * layout.c (rotate_dash): Verboseness check is no longer
  1459.     necessary because we have an own nice_rotating_dash option.
  1460.  
  1461.     * listmode.c, listmode.h: New files to implement user listing mode
  1462.     editor. Still incomplete: it's got the looks but no functionality.
  1463.  
  1464.     * main.c (listmode_cmd): New function to invoke user listing mode
  1465.     editor. (CmdMenu): User listing mode editor is temporarily placed
  1466.     in to Command menu. To be moved to Listing mode dialog when
  1467.     complete. (OptMenu): I think Save setup should be separated from
  1468.     the other choices. (version): In case of Slang reports which
  1469.     terminal database is used. (handle_args): The -f option should
  1470.     output to stderr, not stdout.
  1471.  
  1472. Fri Aug 25 23:37:18 1995  Jakub Jelinek    (jj@jj)
  1473.  
  1474.     * key.c: A bunch of changes. old_esc_mode works again (should we
  1475.     set a shorter timeout than 1 sec or should we let the user specify
  1476.     this?). I was trying to unify all the different key routines
  1477.     into the new define_sequence structure. Tell me if it works.
  1478.  
  1479.     * mcserv.c (do_auth), configure.in: Support for Linux shadow
  1480.     passwords.
  1481.  
  1482.     (do_auth): Assign correct supplemental groups for process, if they
  1483.     exist in the system and enhanced security of mcserv a bit.
  1484.  
  1485.     * util.c (convert_controls): Fixed a bug, which caused that control
  1486.     (< 32) characters could not be defined as sequences.
  1487.  
  1488.     * learn.c (learn_keys): Added somehow more descriptive messages.
  1489.  
  1490.     * xvmain.c (xv_center_layout): Fixed a problem with widgets
  1491.     XV_WLAY_EXTENDWIDTH and narrow dialogs (such as one with empty
  1492.     listbox) correct their width.
  1493.  
  1494.     * cmd.c (view_other_cmd): Quick hack to repaint cmdline and hintbar
  1495.     on Linux console after C-o correctly.
  1496.  
  1497. Thu Aug 24 15:25:24 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  1498.  
  1499.     * cmd.c (reselect_vfs): New command, uses the hotlist code to
  1500.     display all the non local active virtual file systems.
  1501.  
  1502.     * vfs.c (mcfs_fill_names, ftpfs_fill_names): Fill Used to report
  1503.     the number of file systems active.
  1504.  
  1505. Thu Aug 24 15:40:34 1995  Janne Kukonlehto  (jtklehto@paju)
  1506.  
  1507.     * ext.c (regex_command): Now works correctly with files like
  1508.     '#draft'.
  1509.  
  1510.     * file.c (convert_case): New function. (transform_source): Now
  1511.     supports six new codes in the target mask: \u and \l convert the
  1512.     next character to uppercase or lowercase, \U and \L convert
  1513.     characters up to \E or the end of the file name. Backslash also
  1514.     works as a quote character. See the manual page for details.
  1515.  
  1516. Wed Aug 23 13:50:13 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  1517.  
  1518.     * subshell.c (init_subshell): If subshell does not initialize,
  1519.     kill the subshell.
  1520.  
  1521.     * help.c (interactive_display): Move the help bar to the proper
  1522.         position.
  1523.  
  1524.     * screen.c (WIDGET_UNFOCUS): clear the searching when loosing
  1525.     focus.
  1526.  
  1527.     * file.c (create_op_dlg, destroy_op_dlg): modify the hint bar
  1528.     position during the operations to avoid the screen override that
  1529.     could be caused by the ftpfs.
  1530.  
  1531.     * cmd.c: Call repaint_screen again after update_panels.
  1532.  
  1533.     * main.c (update_panels): do not repaint the panels, just mark
  1534.     them as dirty and let the midnight_callback check for dirtiness
  1535.     before a get_event is called (the new message DLG_PRE_EVENT is
  1536.     used for this).
  1537.  
  1538. Wed Aug 23 21:31:24 1995  Steven N. Hirsch <hirsch@emba.uvm.edu>
  1539.  
  1540.     * layout.c (setup_panels): Compute properly the hint position. 
  1541.  
  1542. Wed Aug 23 20:42:45 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
  1543.  
  1544.     * mc.1: Documentation fixes.
  1545.  
  1546.     * learn.[ch] (NEW): Learn keys command.
  1547.  
  1548.     * slint.c: SLang now resets attributes after SIGTERM and bunch of
  1549.     other signals.
  1550.  
  1551.     * wtools.c (message): Fixed D_INSERTed messages (like Searching
  1552.     wasn't ever shown).
  1553.  
  1554.     * ext.c: Version check for 3.0's mc.ext and .mc.ext. In case it
  1555.     finds and old formatted, tells what to do.
  1556.  
  1557. Tue Aug 22 20:15:01 1995  Jakub Jelinek    (jj@gnu.ai.mit.edu)
  1558.  
  1559.     * configure.in: --with-slang is now the default together with
  1560.     --without-xview and --without-tk. If you want to compile with
  1561.     ncurses, use --with-ncurses and likewise --with-xview and --with-tk
  1562.  
  1563.     * tcputil.h, configure.in: Check for rpc/pmap_clnt.h header and 
  1564.     including it if exists.
  1565.  
  1566.     * xv/Makefile.in: Fixed the -lXpm problem.
  1567.  
  1568.     * mc.1, INSTALL, INSTALL.FAST, NEWS: A bunch of documentation
  1569.     fixes and additions, but there is still lot of work for EVERYONE.
  1570.  
  1571.     * man2hlp.c: Now indents the help's index again...
  1572.  
  1573.     * {tk|xv}/Makefile.in: Fixed a link goal problem on old SunOs.
  1574.  
  1575.     * */*: Many fixes all around the code to make at least my GCC happy
  1576.     with the -Wall. Now it shows on the slang mc no warnings except in
  1577.     regex.c.
  1578.  
  1579. Mon Aug 21 19:08:05 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  1580.  
  1581.     * vfs.c (vfs_add_noncurrent_stamps): Do nothing if the panels have
  1582.     not been setup (this let's you: mc ftp://roxanne)
  1583.  
  1584.     * setup.c (load_setup): Will not open by default non local vfs
  1585.     when loading the configuration.
  1586.  
  1587.     * profile.c (free_profile_name): Fixed seg fault problem on Linux;
  1588.     (load): Keep spaces on keys unless they are at the beginning of
  1589.     the line (for nice external panelize displays).
  1590.  
  1591. Mon Aug 21 22:10:06 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
  1592.  
  1593.     * configure.in: Removed duplicate -L options for XView, misc fixes.
  1594.  
  1595.     * xterm.ti: Modified smcup so that it works well even on broken
  1596.     xterms. Hope this will not break anything.
  1597.  
  1598.     * mcfn_install.in: Added check and installation to ~/.bashrc,
  1599.     if running from bash. If mc () is in ~/.profile, then it applies
  1600.     only to the login shell :(
  1601.  
  1602.     * boxes.c, cmd.c: New feature - M-c (Quick cd) - pops up a dialog
  1603.     where you enter exactly what you type after "cd " on the command
  1604.     line. The difference is that you don't have to yank and paste 
  1605.     your full command line because you want shortly change directory.
  1606.  
  1607.     * complete.c: Added special handling for "cd " and quick cd -
  1608.     now only directories are completed (CDPATH should remain untouched).
  1609.  
  1610.     * file.c (move_dir_dir): Removed test for EXDEV error, now we
  1611.     are trying to copy and then delete whenever any error during
  1612.     renaming occurs. This is because e.g. NFS returns sometimes
  1613.     EIO, if I'm moving on one nfs filesystem, which contains more
  1614.     filesystems on the nfs server. Hope this won't even hurt.
  1615.  
  1616.     * panelize.[ch]: New modules which show nice database of stored
  1617.     panelizing commands, you can add new, assign to them names etc.
  1618.     (Like C-\ for cd).
  1619.  
  1620.     * widget.c (label_set_text): Fixed this routine so that it paints
  1621.     everything correctly if the new string is shorter than the previous
  1622.     one and added a parameter/flag which tells it whether we want to
  1623.     adapt the label length (useful for the message bar).
  1624.  
  1625. Sun Aug 20 11:00:51 1995  Ching Hui  <Nicholas@u811563.JEN.AB.nthu.edu.tw>
  1626.  
  1627.     * container.c (linklist_destroy): fix memory corruption bug.
  1628.  
  1629.     *ftpfs.c: add time out code to directory cache.
  1630.     
  1631. Sat Aug 19 15:25:56 1995  Ching Hui  <u811563@thccy12>
  1632.  
  1633.     * ftpfs.c: fix symlink.
  1634.     
  1635. Sat Aug 19 13:27:09 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  1636.  
  1637.     * help.c (move_backward2, move_forward2): If we can't move the
  1638.     number of lines requested, set current to the startup value.
  1639.  
  1640.     * view.c (search): Now will rotate the dash when searching.
  1641.  
  1642.     (normal_search): Will not load all the file into core before
  1643.     starting a search.
  1644.  
  1645.     * slint.c (vline): uses spaces when -s flag is used.
  1646.  
  1647.     * main.c (suspend_cmd): Call do_refresh for a complete screen
  1648.     redraw, slang seems to not like the touchwin, refresh after coming
  1649.     back from suspend.
  1650.  
  1651.     * dlg.c: use suspend_cmd instead of do_suspend_cmd that should be
  1652.     an internal function of suspend_cmd.
  1653.  
  1654. Fri Aug 18 10:09:07 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  1655.  
  1656.     * screen.c: Implemented torben_fj_mode for home/end key behavior.
  1657.  
  1658.     * wtools.c (input_dialog_help): Fixed the password problem on the
  1659.     input dialogs.
  1660.  
  1661. Wed Aug 16 05:16:50 1995  Ching Hui  <u811563@thccy12>
  1662.  
  1663.     * ftpfs.c: flush directory cache after store file, rmdir, and
  1664.     mkdir.
  1665.     
  1666.     * ftpfs.c (ftpfs_rmdir): fill the missing code.
  1667.     
  1668.     * ftpfs.c (retrieve_dir): change "LIST -lba" to "LIST -la", since
  1669.     ftp.funet.fi doesn't happy with -b argument.
  1670.  
  1671. Tue Aug 15 23:34:01 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
  1672.  
  1673.     * mc.1: Manual page fixes.
  1674.  
  1675.     * win.c: You can now define even f11-f20 keystrokes in your 
  1676.     mc.lib/.mc.ini file. f13 is used for unparsed view, f20 for quiet
  1677.     quit (no confirmation, if invoked with -P, it returns ., i.e.
  1678.     no current directory change).
  1679.  
  1680.     * file.c: Fixed a bug when the target existed as a symlink. Now, if
  1681.     you say you want to overwrite it, mc deletes the symlink and either
  1682.     links new symlink or copies the new file there. Previously, in the 
  1683.     first case, a message saying cannot create target symlink was shown
  1684.     and in the later case the new file overwrote the file target symlink
  1685.     was pointing to.
  1686.  
  1687.     * main.c: Command line in XView now looks a bit better.
  1688.  
  1689.     * xvwidget.c: WCheck and WRadio now correctly set their initial
  1690.     values (previously all of them were on/with first one checked).
  1691.  
  1692.     * xvwidget.c: WLabel now moves all the widgets to the right of it,
  1693.     if we change its length by assigning a new text to it.
  1694.  
  1695. Wed Aug 16 05:16:50 1995  Ching Hui  <u811563@thccy12>
  1696.  
  1697.     * ftpfs.c: flush directory cache after store file, rmdir, and
  1698.     mkdir.
  1699.     
  1700.     * ftpfs.c (ftpfs_rmdir): fill the missing code.
  1701.     
  1702.     * ftpfs.c (retrieve_dir): change "LIST -lba" to "LIST -la", since
  1703.     ftp.funet.fi doesn't happy with -b argument.
  1704.  
  1705. Tue Aug 15 00:42:18 1995  Jakub Jelinek    (jj@gnu.ai.mit.edu)
  1706.  
  1707.     * cmd.c (view_simple_cmd): This is for displaying unformatted
  1708.     view of a file (will be sticked to F13 or Shift+F3).
  1709.  
  1710.     * ext.c: Fixed a view Format/Unform error.
  1711.  
  1712.     Fixed two other bugs in regex_command, causing e.g. a file to be
  1713.     viewed only once in its formatted version.
  1714.  
  1715.     * main.c (quiet_quit_cmd): This is for quitting without changing
  1716.     the directory where you were before if using -P (more precisely,
  1717.     this prints "." instead of the last directory). Will be sticked
  1718.     to F20 / Shift+F10.
  1719.  
  1720.     * screen.c (do_file_mark): Fixed selection handling in XView.
  1721.     Now sets panel->marked etc. correctly.
  1722.  
  1723.     * xvmain.c: Fixes to make drop work. It is still an ugly hack, but
  1724.     it seems to me that I've found an awful bug in XView :(
  1725.  
  1726.     * xvscreen.c: Drop should really work. Try it...
  1727.  
  1728. Fri Aug 11 16:57:35 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  1729.  
  1730.     * file.c (check_buttons): Now it handles space and tabs.
  1731.  
  1732.     * cons.handler.c (show_console_contents): Slang/terminfo does not
  1733.     wrap characters at the end of a line, so we manually move to the
  1734.     next line.
  1735.  
  1736.     * widget.c (label_destroy): Expanded the Label widget: if the text
  1737.     member does have a zero value it will not be displayed (I will
  1738.     use this for the hintbar).  Removed the hintbar support from the
  1739.     buttonbar code.
  1740.  
  1741. Mon Aug 14 14:18:19 1995  Ching Hui  <u811563@thccy12>
  1742.  
  1743.     * ftpfs.c: fix redundant copy of directory cache and support open
  1744.      for write.
  1745.  
  1746. Sun Aug 13 22:46:12 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
  1747.  
  1748.     * Misc fixes in configure and installation procedures.
  1749.  
  1750.     * xvicon.c: Now it is possible to move these icons, drop files onto
  1751.     them, show the icon dependent menu etc.
  1752.  
  1753.     * ext.c: Fixed some horrible bugs causing segfaults noticed by
  1754.     someone here on the list, which I had troubles for a longer time
  1755.     with.
  1756.  
  1757. Thu Aug 10 19:45:30 1995  Ching Hui  <u811563@thccy12>
  1758.  
  1759.     * ext.c (exec_extension): Tcsh did not like our lines without a
  1760.     trailing newline.
  1761.  
  1762. Thu Aug 11 00:43:17 1995  Jakub Jelinek    (jj@gnu.ai.mit.edu)
  1763.  
  1764.     * Makefile.in: libdir is now in $prefix/lib/mc instead of
  1765.     $prefix/lib, so that all our mc.{hlp|ext|menu|hint|keys} files
  1766.     and the FAQ are nicely grouped together into one directory.
  1767.     In there is a subdirectory icons with all the icons.
  1768.  
  1769.     * aclocal.m4: Test for header files in standard paths and in user
  1770.     defined additional directories (AC_CHECK_HEADER_IN_PATH). Those
  1771.     directories can be specified in the beginning of configure.in.
  1772.     Let me know which directories would you like to be there.
  1773.  
  1774.     Also added checks for the Xpm library and headers and for the X11
  1775.     shape extension (also header and -lXext).
  1776.  
  1777.     * configure.in: I was trying to fix the file & sed bug. Could
  1778.     anybody test it and in case of error send me again sh -x configure?
  1779.  
  1780.     * doc/mc.1: Now are even mc.1 and mc.hlp parsed with sed for
  1781.     @prefix@.
  1782.  
  1783.     * ext.c (regex_command): Speeded up by i) caching mc.ext in memory
  1784.     (FIXME - should reload it on any change in mc.ext) and ii)
  1785.     when looking for Icon, we are automagically looking for Title
  1786.     as well.
  1787.  
  1788.     * xvicon.c (CreateXpmIcon): Now paints titles under icons as well.
  1789.  
  1790. Wed Aug  9 18:54:33 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  1791.  
  1792.     * widget.c (buttonbar_callback): Added the hint-bar support (or
  1793.     should it be called message bar?), now we need to add the hints
  1794.     and the code that will display them.
  1795.  
  1796. Wed Aug  9 23:56:12 1995  Jakub Jelinek    (jj@gnu.ai.mit.edu)
  1797.  
  1798.     * ext.c (do_regex_command): Changed meaning of shell/ in mc.ext -
  1799.     it is extension only if the first character is ., i.e.
  1800.     shell/.tar
  1801.     will match *.tar, but if it doesn't start with a dot, then it
  1802.     matches only the same filenames (i.e. shell/gzip matches only gzip).
  1803.  
  1804.     Added Icon and Title actions in mc.ext. Icon is a pathname of an
  1805.     XPM file (possibly with the None color somewhere, so that it may
  1806.     be transparent somewhere). If it is not absolute pathname, then
  1807.     it defaults to $(icondir) ($(prefix)/lib/mc/icons/). Title specifies
  1808.     the title under icon, with %p for filename and %d for pathname.
  1809.     %d/%f is complete path. Default title is %p.
  1810.  
  1811.     Fixed an awful bug in comparison of actions.
  1812.  
  1813.     * cmd.c (dirsizes_cmd): Fixed a bug that caused wrong information,
  1814.     if you had directories where name of one of them was concatenation
  1815.     of the other plus something (like mc and mc-2.4.93).
  1816.  
  1817.     * setup.c: Now we clean the correct temporal sections ('cause panel
  1818.     names have changed).
  1819.  
  1820.     * wtools.c (input_dialog_help): Fixed displaying of input boxes in
  1821.     XView.
  1822.  
  1823.     * xvscreen.c (xv_mouse_event): Double-click works! Drop should work
  1824.     as well, but it is still a bit buggy.
  1825.  
  1826.     File type dependent menu, if you press the right mouse button on a
  1827.     file. This one lets you easily Open/View/Edit/Copy/Move/Delete plus
  1828.     any user defined actions from mc.ext (like Compile, Link, Flush
  1829.     etc.).
  1830.  
  1831.     * xvaction.c, xvicon.c: Completely changed basics of Action icons.
  1832.     Now these icons are just files which were moved (dropped in the
  1833.     future) from the panels. Icon and Title are looked up in mc.ext, the
  1834.     only thing we have to specify in mc.ini for those icons, which are
  1835.     loaded by default at startup, is position of icon center, in format
  1836.     +x+y, where x and y are positive numbers.
  1837.     Entries in .mc.ini's Action Icons section look like
  1838.     /bin/rm=+20+120
  1839.  
  1840.     * icons/: New directory full of nice icons in XPM format. Hope
  1841.     you'll like them. We'll have to look for some even nicer ones,
  1842.     but some of them are really good (I think).
  1843.     
  1844. Tue Aug  8 17:22:15 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  1845.  
  1846.     * key.c (get_event): Now we return to the caller program if select
  1847.     sets errno = EINTR (thanks to Hugh Redelmeier (hugh@mimosa.com)
  1848.     for the hint).  This actually makes the program resize it's screen
  1849.     as soon as it is resized.
  1850.  
  1851.     (get_event): If we are not waiting for a mouse repeat event and
  1852.     there are pending 
  1853.  
  1854.     sldisply.c: Clear the current acs status at slang startup.
  1855.  
  1856. Tue Aug  8 16:23:39 1995  Ching Hui  <u811563@thccy12>
  1857.  
  1858.     * ftpfs.c: Will not hang if the address is bogus.
  1859.  
  1860.     * vfs.c: Removed the dialog stuff (we did not use it).
  1861.  
  1862. Mon Aug  7 13:13:12 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  1863.  
  1864.     * screen.c (panel_update_cols): Now all of the column computing is
  1865.     done in this function (instead of doing half the job here and the
  1866.     other half in layout.c: setup_panels).
  1867.  
  1868.     * auto.c: Removed automount feature.
  1869.  
  1870.     * option.c: optimize the case for a toggle-only variable and
  1871.     remove all of the unused toggle_* functions.
  1872.  
  1873. Sun Aug  6 21:33:08 1995  Ching Hui  <u811563@thccy12>
  1874.  
  1875.     * ftpfs.c (retrieve_file): New function.
  1876.     
  1877.     * ftpfs.c (parse_ls_lga): fix typo.
  1878.  
  1879.     * vfs.h: change vfsid type definition from int to void *.
  1880.  
  1881. Mon Aug  7 23:43:12 1995  Jakub Jelinek  <jj@gnu.ai.mit.edu>
  1882.  
  1883.     * */Makefile.in: Added make variable DESTDIR, which makes it
  1884.     possible to move the install root somewhere in the directory tree.
  1885.         (Was necessary because not all files are installed in $(prefix)).
  1886.     Use it like: make install DESTDIR=/package/mc
  1887.     and the files (in case $(prefix) is /usr/local) will be installed
  1888.     into /package/mc/usr/local/bin, /package/mc/usr/local/lib and
  1889.     /package/mc/usr/openwin/bin etc...
  1890.  
  1891.     * boxes.c (display_box): Now correctly restores default format
  1892.     after returning from a Info/Quick View/Tree widget.
  1893.  
  1894.     * configure.in: Default prefix (if you do not specify) will now
  1895.     depend on whether you have mc already installed in your system
  1896.     to /usr/bin/mc or /usr/local/bin/mc.
  1897.  
  1898.     * mc.ext, ext.c: For Torben - the lynx action for \.html?$ files
  1899.     added and should work even on ftpfs :)
  1900.  
  1901.     * cmd.c (dirsizes_cmd): Do not call du if on non-local vfs.
  1902.  
  1903.     * vfs/Makefile.in: If you undef USE_NETCODE, you should compile
  1904.     it without the net objects.
  1905.     
  1906. Fri Aug  4 18:45:39 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  1907.  
  1908.     * slint.c (slang_init): Disable flow control, thanks to John Davis.
  1909.  
  1910. Sat Aug  5 01:03:08 1995  Ching Hui  <u811563@thccy12>
  1911.  
  1912.     * ftpfs.c (ftpentry_destructor, ftpfs_dir_destructor, ftpfs_chdir,
  1913.     ftpfs_mkdir, ftpfs_getid): fix typo and memory leak.
  1914.     
  1915.     * ftpfs.c (ftp_connection_destructor, ftpfs_init, ftpfs_done):
  1916.      New function.
  1917.     
  1918.     * ftpfs.h: New file.
  1919.     
  1920.     * vfs.c (vfs_init): call ftpfs_init.
  1921.     
  1922.     * vfs.c (vfs_shut): always free the vfs resource, call ftpfs_done.
  1923.  
  1924. Thu Aug  3 20:07:58 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  1925.  
  1926.     * main.c (reload_panelized): Fixes the problems with the panelized
  1927.     files.  We first chdir to the panelized directory cwd and then
  1928.     restore it if it is not the current_panel.
  1929.  
  1930.     * tkmain.c (tkmc_callback): Tk: Selection on input lines work now.
  1931.  
  1932.     * wtools.c (message), view.c (search): Search should work with Tk now.
  1933.  
  1934. Thu Aug  3 16:01:00 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
  1935.  
  1936.     * configure.in, */Makefile.in: A lot of small changes - tkmc is now
  1937.     included by default, --without-tk can turn it of, new options
  1938.     --with-tk-includes=dir --with-tk-libs=dir --with-xv-bindir=dir.
  1939.     Also should check if file accepts - as an option (Miguel, could you
  1940.     test it on a machine which doesn't support it)?
  1941.  
  1942. Thu Aug  3 23:24:34 1995  Ching Hui  <u811563@thccy12>
  1943.  
  1944.     * ftpfs.c: use link list instead of array to store connection 
  1945.     information.
  1946.     * ftpfs.c (ftpfs_free): free the connection resource when timeout.
  1947.     
  1948. Wed Aug  2 19:30:03 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  1949.  
  1950.     * help.c (move_forward2, move_backward2): The next/prev page works
  1951.     again on the help.
  1952.  
  1953.     * widget.c (listbox_drawscroll): Now we draw a sort of scrollbar
  1954.     that includes the '|' character.
  1955.  
  1956.     * subshell.c (init_subshell): More robust: If the child had
  1957.     problems before the parent had a chance to setup the sigchld
  1958.     handler it would hang, now the code calls waitpid after the
  1959.     init_sigchld has been called.  (There is no use in installing
  1960.     sigchld_handler before since the child could execute and abort
  1961.     before the parent had returned from fork ()).
  1962.  
  1963. Wed Aug  2 16:01:00 1995  Jakub Jelinek    (jj@gnu.ai.mit.edu)
  1964.  
  1965.     * ext.c: Rewritten, now uses only one file (mc.ext) instead of three
  1966.     (mc.{edit|view|ext}) with a completely new structure. For the
  1967.     description see comments in the sample lib/mc.ext file.
  1968.     BTW: You have to update your .mc.ext file, otherwise nothing will
  1969.     work.
  1970.  
  1971.     * configure.in: du checks, now should handle all the du's.
  1972.  
  1973. Wed Aug  2 21:24:45 1995  Ching Hui  <u811563@thccy12>
  1974.  
  1975.     * ftpfs.c (get_file_entry, _get_file_entry): New function.
  1976.         
  1977.     * ftpfs.c (ftpfs_lstat, ftpfs_stat, ftpfs_fstat): call get_file_entry
  1978.     to get ftpentry.
  1979.  
  1980.     * ftpfs.c (retrieve_dir): change into directory before getting the
  1981.     directory list.
  1982.  
  1983. Tue Aug  1 12:47:59 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  1984.  
  1985.     * tkwidget.c (tk_update_input): Use the window name.
  1986.  
  1987.     * vfs.c: Removed the alarm code.
  1988.  
  1989.     * slint.c: Now we keep track of the original and program-mode
  1990.     terminal settings, no more problems with the raw mode on
  1991.     terminals. 
  1992.  
  1993. Tue Aug  1 12:12:45 1995  John E. Davis (davis@space.mit.edu)
  1994.  
  1995.     * sldisply.c (write_attributes): Some broken terminal databases
  1996.     when restoring normal video turn of ALL attributes.  This should
  1997.     fix the problem on HP-UX and maybe AIX.
  1998.  
  1999. Tue Aug  1 23:26:12 1995  Jakub Jelinek    (jj@gnu.ai.mit.edu)
  2000.  
  2001.     * xvscreen.c, xvmain.c: XView repaint fixes, coded mouse handling -
  2002.     everything except drop (drag should work).
  2003.  
  2004. Mon Jul 31 12:41:52 1995  Ching Hui (u811563@Oz.nthu.edu.tw)
  2005.  
  2006.     * ftpfs.c: Recoded missing parts of the ftpfs, now it allows you
  2007.     to do copying/viewing of the remote files.
  2008.  
  2009. Sat Jul 29 20:01:00 1995  Jakub Jelinek    (jj@gnu.ai.mit.edu)
  2010.  
  2011.     * main.c (main, do_nc): Fixed a bug causing mc to list a part of
  2012.     .mc.ini on my system. It occurred when ran with -P, because we were
  2013.     trying to print already freed string which has been accidentally
  2014.     overwritten.
  2015.  
  2016.     * mcfn_install: New shell program (called from main Makefile's
  2017.     mcfninstall goal) which tries to install the mc() function into your
  2018.     profile.
  2019.  
  2020.     * cmd.c (dirsizes_cmd): New command in the command menu. Until you
  2021.     press C-r or change directory in the current panel, directory sizes
  2022.     will be replaced by the space used by them and their subdirectories
  2023.     as shown by du -s -b. You can then easily select these files and
  2024.     see the totals.    
  2025.  
  2026.     * file.c (copy_file_file, move_file_file): If you're moving a file
  2027.     onto already existing one, you won't be asked twice any more...
  2028.  
  2029. Fri Jul 28 18:29:11 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2030.  
  2031.     * slang/ Upgraded to slang 0.99-19.
  2032.  
  2033.     * Tk/ File copy/move/delete progress window works.
  2034.  
  2035. Fri Jul 28 19:32:15 1995  Jakub Jelinek   (jj@gnu.ai.mit.edu)
  2036.  
  2037.     * menu.c (menubar_handle_key): Fix so that menu hot keys work
  2038.     properly...
  2039.  
  2040.     * xv/: I've broken everything, do not even try it, but it compiles
  2041.     without SlingShot already :)
  2042.  
  2043.     * find.c (external_panelize): stderr goes to /dev/null where it
  2044.     ought to be :)
  2045.  
  2046. Thu Jul 27 17:51:43 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2047.  
  2048.     * tkmain.c (tk_dispatch_all): New function to flush all the
  2049.     pending Tk events.
  2050.  
  2051.     * mc.tcl, file.c: Now query_dialogs work with any number of
  2052.     options, replace dialog is working with Tk.
  2053.  
  2054.     * tkmenu.c: left/right commands now work.
  2055.  
  2056.     * tkmain.c: tk_getch implemented, quote works on tkmc. 
  2057.  
  2058. Thu Jul 27 10:43:25 1995  Janne Kukonlehto  (jtklehto@indy4)
  2059.  
  2060.     * find.c (external_panelize): new function, now you can panelize
  2061.     the output of any external command.
  2062.  
  2063. Wed Jul 26 19:54:40 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2064.  
  2065.     * tkinfo.c, mc.tcl: WInfo now works with Tk.
  2066.  
  2067. Wed Jul 26 10:48:58 1995  Thanh Ma <tma@encore.com>
  2068.  
  2069.     * tar.c (tar_fstat): fixed missing ifdefs, now it should compile
  2070.     on SVR3.x 
  2071.  
  2072. Thu Jul 27 00:14:05 1995  Jakub Jelinek  (jj@gnu.ai.mit.edu)
  2073.  
  2074.     * screen.c (to_buffer, parse_display_format): Fixed painting of
  2075.     files when the column is narrow and also titles should be painted
  2076.     correctly in such case.
  2077.  
  2078.     * Makefile.in: Should make non-existent directories on install now
  2079.  
  2080.     * file.c (move_file_file): Fix so that append works even when
  2081.     moving.
  2082.  
  2083. Tue Jul 25 14:32:56 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2084.  
  2085.     * main.c (load_prompt): Cut prompt if it is too long.
  2086.  
  2087. Tue Jul 26 00:40:12 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
  2088.  
  2089.     * help.c (show): Midnight in the first help page should be painted
  2090.     in ACS even in slang (if terminal has it).
  2091.  
  2092.     * myslang.h, main.c (main): beep should work even in slang.
  2093.  
  2094.     * */Makefile.in*: Ugly hack which removes the stupid relinking of
  2095.     mc/mxc/tkmc always, since libvfs.a and libmc.a were in another
  2096.     directory...
  2097.  
  2098.     * complete.c (try_complete): Now completes fine even if you have
  2099.     CDPATH set to something and try to complete a non-existant path
  2100.     which exists if prefixed with one of the directories in CDPATH.
  2101.     Example: I have CDPATH=.:~:~/src:/usr
  2102.     and I'm somewhere where no directory begins with mc. The only
  2103.     directories starting with mc- are in ~/src. If I type
  2104.     cd mc-
  2105.     and press M-Tab twice ('cause there are more than one possible
  2106.     completions), I get list of ~/src/mc-2.4.76 and ~/src/mc-patches.
  2107.     FIXME: Should write some documentation on CDPATH and its usage.
  2108.  
  2109. Mon Jul 24 17:49:38 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2110.  
  2111.     * tkscreen.c, tkmain.c: Finally I'm using a proper method that
  2112.     does not rely on the container name to create the panels.  This is
  2113.     required to implement to WView, WTree and WInfo widgets in Tk to
  2114.     be used as panels.
  2115.  
  2116.     * Quick view working under Tk.
  2117.  
  2118.     * vfs.c (vfs_setup_wd): At setup time, set current_dir to empty if
  2119.     we happend to hit a non-existant directory.
  2120.  
  2121. Mon Jul 24 15:55:28 1995  Jakub Jelinek  (jj@gnu.ai.mit.edu)
  2122.  
  2123.     * util.c (mc_doublepopen), tar.c: Bug fixing of corrupt tar files.
  2124.  
  2125. Mon Jul 24 11:42:35 1995  Ching Hui (u811563@Oz.nthu.edu.tw)
  2126.  
  2127.     * main.c (sigchld_handler_no_subshell): Wait only the
  2128.     cons_saver_pid when compile without subshell.
  2129.  
  2130.     * tar.c (tafs_get_path): put the archive on stamp list, tar_open must
  2131.     remove the archive from stamp list.
  2132.  
  2133.     (read_tar_archive): will close archive->fd after reading the
  2134.     entry, but it is wrong, when mc didn't read the whole archie in
  2135.     memory, it will get a core dump. (i.e open a non-gzip tar file,
  2136.     and try to view the file.)
  2137.  
  2138.     Delete the mc_close(archive->fd) from tar_close, it is handle by
  2139.     free_archive.
  2140.  
  2141. Fri Jul 21 20:52:24 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2142.  
  2143.     * mc.tcl: Copy dialog works with the new dialog that Jakub wrote.
  2144.  
  2145.     * view.c: Tk/Viewer is now working.
  2146.  
  2147.     * util.c: No more <defunct> processes after looking at a tar.gz file.
  2148.  
  2149. Fri Jul 21 11:00:05 1995  Jakub Jelinek  (jj@gnu.ai.mit.edu)
  2150.  
  2151.     * tree.c (my_mkdir, my_mkdir_rec): F7 (Mkdir) now creates as many
  2152.     directories as you want in one command (just type there e.g. 
  2153.     bla/foo/foo2/).
  2154.  
  2155.     * main.c (copy_*): C-x (C-)p now adds a slash at the end, so you do
  2156.     not have to type it yourself.
  2157.  
  2158. Wed Jul 19 18:41:29 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2159.  
  2160.     * view.c (flush_line): Tk: Colors work on the internal file
  2161.     viewer.
  2162.  
  2163.     * tar.c: possible bug fix to the growing tar files tar_open, I'm
  2164.     not sure I did it right.  (load_compressed): Added a couple of
  2165.     rotate_dash()s. 
  2166.  
  2167.     * layout.c (use_dash): New routine, controls updating of the dash
  2168.     with rotate_dash.
  2169.  
  2170. Tue Jul 18 13:08:54 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2171.  
  2172.     * main.c (main), slint (slang_shutdown): Now it leaves the program
  2173.     in the non-application screen.
  2174.  
  2175. Tue Jul 18 10:50:25 1995  Ching Hui (u811563@Oz.nthu.edu.tw)
  2176.  
  2177.     * cons.saver.c (detect_console): Make the code compile.
  2178.  
  2179.     * command.c: The Ctrl+Enter never reaches this part of the code,
  2180.     moved to midnight_callback.
  2181.  
  2182. Mon Jul 17 12:53:32 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2183.  
  2184.     * slint.c, myslang.h: Better compatibility with curses.
  2185.  
  2186. Mon Jul 17 11:18:42 1995  Ching Hui (u811563@Oz.nthu.edu.tw)
  2187.  
  2188.     * configure.in, tty.h: Forgot to define USE_NCURSES, forgot some
  2189.     constants.
  2190.  
  2191.     * util.c: Handle too many arguments on mc_doubleopen.
  2192.  
  2193. Tue Jul 18 16:55:20 1995  Jakub Jelinek  (jj@jfch.vc.cvut.cz)
  2194.  
  2195.     * xvmain.c, xvinfo.c: XView version should compile cleanly and
  2196.     even run (at least on my system) now... :)
  2197.  
  2198.     * help.c: No more deadlocks in XView's help
  2199.  
  2200.     * xvmain.c (xvdlg_show): Should now handle initial focus for
  2201.     dialogs.
  2202.  
  2203. Fri Jul 14 16:10:47 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2204.  
  2205.     * util.c (my_statfs): Should report the correct file system.  I
  2206.     have nfs mounted /home/miguel/s and it was reporting
  2207.     /home/miguel/slang to be on the nfs partition.
  2208.  
  2209.     * key.c (init_key): Fixed the escape sequences for irix-ansi and
  2210.     xterm. 
  2211.  
  2212.     * sldisply.c: Added terminal size detection to Slang.
  2213.  
  2214.     * help.c (help_event): Fixed mouse coordinate handling and repainting.
  2215.  
  2216. Fri Jul 14 15:47:07 1995  Ching Hui (u811563@Oz.nthu.edu.tw)
  2217.  
  2218.     * aclocal.m4: OSF/1 cc compiler fixes.
  2219.  
  2220.     * tty.h: handles all of the curses differences now instead of
  2221.     our tricky lib/ncurses.h 
  2222.  
  2223.     * util.c: exevp portability fixes.
  2224.  
  2225.     * menu.c: hline fixed.
  2226.  
  2227.     * xcurses.c: Hacked to work with OSF/1 curses.
  2228.  
  2229. Thu Jul 13 16:06:06 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2230.  
  2231.     * mouse.c (init_mouse): When running with slang is important to
  2232.     flush stdout so that the mouse actually its activated.
  2233.  
  2234.     * boxes.c (display_bits_box): Now the setting is computed
  2235.     correctly (ie, it works)
  2236.  
  2237.     * sltermin.c (Tgetstr_Map): Added keypad transmit mode on/off, now
  2238.     cursor keys should work with terminfo.
  2239.  
  2240.     * subshell.c (read_subshell_prompt): The prompt should be there no
  2241.     matter what happens.
  2242.  
  2243. Thu Jul 13 16:51:34 1995  John Davis  <davis@space.mit.edu>
  2244.  
  2245.     * slang/sldisply.c: Provided semantic compatible routines for
  2246.     tgetstr, tgetnum and tgetflag.
  2247.  
  2248. Wed Jul 12 18:40:06 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2249.  
  2250.     * vfs.c (vfs_add_noncurrent_stamps): Check for other panel type
  2251.     before using opanel.
  2252.  
  2253. Wed Jul 12 16:59:23 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2254.  
  2255.     * slint.c (slang_init): Fixed the slang/terminfo problem, reported
  2256.     by Ching and Thanh.
  2257.  
  2258.     * help.c: Make the buttonbar functions redraw the screen.
  2259.  
  2260.     * slint.c: Slang support should work with terminfo again.
  2261.  
  2262. Wed Jul 12 14:09:30 1995  Ching Hui (u811563@Oz.nthu.edu.tw)
  2263.  
  2264.     * vfs: cpp options indentation to compile under OSF/1.
  2265.  
  2266.     * configure.in: Support for --with-vcurses flag for those strange
  2267.     setups. 
  2268.  
  2269.     * OSF/1: Changed some inline functions for macros in order to get
  2270.     OSF/1 compiler to work.
  2271.  
  2272.     * screen.c: move is sometimes a macro (slang support).
  2273.  
  2274.     * util.c: portability fix for exec parameters.
  2275.  
  2276. Tue Jul 11 11:01:45 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2277.  
  2278.     * dir.c, tree.c: Updating of the tree widget when loading new
  2279.     directories should be working again.
  2280.  
  2281.     * dlg.c (find_widget_type): New function to find the first widget
  2282.     in a dialog head.  FIXME: find_buttonbar should be rewritten to use
  2283.     this routine.
  2284.  
  2285.     * cons.saver.c (detect_console): Should detect a console on
  2286.     /dev/tty[0-9][0-9]
  2287.  
  2288.     * help.c: Works again.
  2289.  
  2290.     * slint.c (has_colors): Now it activates color based on the
  2291.     terminal name 
  2292.  
  2293.     * OSF/1 C Compiler portability fixes (change the format of the cpp
  2294.     directives), thanks to Ching Hui,.
  2295.  
  2296. Mon Jul 10 13:04:19 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2297.  
  2298.     * view.c (flush_line): Now we use call directly the widget command
  2299.     to insert the line text thus avoiding escaping the string.
  2300.  
  2301.     * dlg.c (dlg_run_done): Tk: focus the previous running dialog.
  2302.  
  2303.     * ftpfs.c (ftpfs_readdir), mcfs.c (mcfs_readdir), tar.c: On
  2304.     Slowaris 2 and maybe the new Linux C library (with the latest
  2305.     kernels) the d_name field is only 1 byte long, a clever trick that
  2306.     breaks our code.  We now have an extra buffer after the dirent
  2307.     struct.  In short: the VFS works under Solaris.
  2308.  
  2309.     * main.c, screen.c (panel_new): Use the vfs' mc_get_current_dir
  2310.  
  2311.     * slint.c (slang_keypad): Now it should set the keypad mode before
  2312.     starting up, this should fix the problem with the keyboard. 
  2313.  
  2314.  
  2315.     * screen.c (panel_new): mc core dumped when I tried to change the
  2316.      Listing mode, because it did not initialize the panel->fmt_count
  2317.      variable.  
  2318.  
  2319.      * wtools.c: the net based file systems showed the typed in password.
  2320.  
  2321. Fri Jul  7 14:37:44 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2322.  
  2323.     * view.c (flush_line, view_gotoxy): Added initial support for
  2324.     caching viewer lines in the Tk version, need to escape the special
  2325.     character sequences before it will work properly.
  2326.  
  2327. Thu Jul  6 17:25:00 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2328.  
  2329.     * subshell.c (init_subshell): We no longer complain if the
  2330.     subshell can not be used, we just toggle it off
  2331.  
  2332. Thu Jul  6 16:24:34 1995  Mark Olesen <tma@encore.com>
  2333.  
  2334.     * slint.c: Check for the COLORTERM environment variable, this
  2335.     will activate the color support for slang.
  2336.  
  2337. Thu Jul  6 16:24:34 1995  Thanh Ma <tma@encore.com>
  2338.  
  2339.     * tcputil.c, mcserv.c: The correct include file to use is not
  2340.     rpc/types.h but rpc/rpc.h
  2341.  
  2342. Wed Jul  5 12:55:31 1995  Miguel de Icaza <miguel@luthien.nuclecu.unam.mx>
  2343.  
  2344.     * file.c (file_mask_dialog): Should compile with Unixware compiler.
  2345.  
  2346.     * Makefile.in (CPPFLAGS): Thanks to Thanh Ma <tma@encore.com> for
  2347.     pointing me that the regex code from GNU can be used without alloca.
  2348.  
  2349.  
  2350. Wed Jul  5 19:34:52 1995  Mark Olesen <olesen@weber.me.queensu.ca>
  2351.  
  2352.     * Portability to non GNU C compiler under AIX: replaced #ifdef 0
  2353.     for #if 0, included time.h in vfs files, mem.h: rindex is only
  2354.     defined if no definition existed previously.
  2355.  
  2356. Tue Jul  4 18:27:10 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2357.  
  2358.     * screen.c (chdir_other_panel): Now Alt-o besides showing the
  2359.     contents of the current directory in the other panel, moves the
  2360.     cursor down one line.  Please tell me if you like this option.
  2361.  
  2362.     * find.c (insert_file): Removed the code that advanced the dir
  2363.     name pointer over the "./", this caused the find/panelize problem
  2364.     to be triggered, since the panelized paths were all wrong.
  2365.  
  2366.     * mc.tcl (center_win): Tk: Dialogs are now centered inside the
  2367.     main window and have local grabs (at least!)
  2368.  
  2369. Mon Jul  3 18:15:12 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2370.  
  2371.     * mc.tcl: Now child windows are centered after being displayed.
  2372.     This is still not working properly, since we flush all the events
  2373.     (and thus make the window visible) before we compute the correct
  2374.     geometry.  If someone knows how to center a toplevel window or how
  2375.     to compute the geometry of a toplevel before it's mapped onto the
  2376.     screen it would be great.
  2377.  
  2378.     * tkscreen.c (compute_font_size): Now we finally are able to
  2379.     compute the font size and thus the panel size, so resizing a panel
  2380.     should work now.  Anyways, most of the job is based on Janne's
  2381.     changes for the Midnight Commander 2.1 that were not released
  2382.     officially. 
  2383.  
  2384. Mon Jul  3 10:30:38 1995  Ching Hui (u811563@Oz.nthu.edu.tw)
  2385.  
  2386.     * dlg.c: Fixed event dispatching, now we don't send wrong events.
  2387.  
  2388.     * tree.c: Define the correct event handler.
  2389.  
  2390.     * wtools.c (listbox_refresh, listbox_callback): The listbox did
  2391.     not have a listbox_callback routine and no refresh code, now it does.
  2392.  
  2393. Sun Jul  2 20:51:19 1995  Jakub Jelinek (jj@jfch.vc.cvut.cz)
  2394.  
  2395.     * file.c: Fixes to the new copy/move commands, on deletion user
  2396.     can turn off/on typing yes to make himself sure he wants to do it
  2397.     (the other possibility is that the No button will be default instead
  2398.     of Yes). Also, added support to preserve UID/GIDs when copying (only
  2399.     root can do it). Can anyone test all of this :)...
  2400.  
  2401.     Also, removed the mask rename command, which should be completely
  2402.     redundant by the new rename operation (you just do specify both
  2403.     masks as before, the only difference is that you can now specify
  2404.     a target path as well, i.e. mask rename equals to rename in the
  2405.     current directory).
  2406.  
  2407.     * main.c (cd_try_to_select): is done for tar archives as well :)
  2408.  
  2409.     * mc.1: Eventhough real programmers do not write any documentation,
  2410.     I wrote something, which is quite unreadable and unclear and looking
  2411.     for someone who has a gift of explaining what I wanted to write and
  2412.     actually wrote (this mightn't be the same).
  2413.  
  2414.     * xv/Makefile.in: Another change in the Makefile. Hopefully XView
  2415.     will compile out of box now, not for the second time...
  2416.  
  2417.     * wtools.c (query_dialog_*): Added new procedure (query_dialog_sel),
  2418.     which has one of its parameters id of the button you want to have
  2419.     initially focused.
  2420.  
  2421.     * dlg.c: Support for initial focus, currently used in query_dialog_*
  2422.     only, but should become at least a bit more used.
  2423.  
  2424. Thu Jun 29 13:01:31 1995  Ching Hui (u811563@Oz.nthu.edu.tw)
  2425.  
  2426.     * wtools.c (query_dialog): Fixed the bug that showed only empty
  2427.     dialog boxes.
  2428.  
  2429. Wed Jun 28 09:14:00 1995  Ching Hui (u811563@Oz.nthu.edu.tw)
  2430.  
  2431.     * subshell.c (sigchld_handler): Fixed another miguel-mistake.  We
  2432.     should not return blindly after dispatching one signaled child,
  2433.     maybe the console saver also had something to say and only one
  2434.     signal was sent.
  2435.  
  2436. Tue Jun 27 12:14:10 1995  Ching Hui (u811563@Oz.nthu.edu.tw)
  2437.  
  2438.     * subshell.c (sigchld_handler): Now we only catch the subshell_pid
  2439.     and the cons_saver_pid, this should fix the long standing bug with
  2440.     popen and other wait() calls.
  2441.  
  2442. Mon Jun 26 14:23:22 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2443.  
  2444.     * tkwidget.c (tk_radio_callback, tk_check_callback): They now call
  2445.     the actions on the standard widget.
  2446.  
  2447. Sat Jun 24 16:29:52 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2448.  
  2449.     * chown.c: Now it uses labels for the interesting information, the
  2450.     rest will be handled on Tk.
  2451.  
  2452. Fri Jun 23 15:01:55 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2453.  
  2454.     * hotlist.c (init_hotlist): We now use labels instead of manually
  2455.     drawing the labels on the widget.  This is what must be done for
  2456.     the rest of the widgets in order to run the dialogs with both
  2457.     ncurses and X.
  2458.  
  2459.     * (tk/): find file command, listing mode, sort order and option
  2460.     configuration panels work on tk.
  2461.     
  2462. Thu Jun 16 00:09:09 1995  Jakub Jelinek  (jj@jfch.vc.cvut.cz)
  2463.  
  2464.     * xvkey.c: Got rid of mouse and key stuff of the text version, so
  2465.     now good bye lgpm and a chunk of ncurses. I will have to take some
  2466.     time and remove all the ncurses/slang dependent stuff :)
  2467.  
  2468.     * configure: Fixed bugs
  2469.  
  2470.     * xvmain.c: Modal dialog boxes. Should be done for file.c's dialog
  2471.     (it is not run by xvrundlg_event) one day :)
  2472.  
  2473. Fri Jun  9 22:24:23 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2474.  
  2475.     * screen.c (format_file): Split repaint_file, now format_file
  2476.     fills a buffer and then this buffer is passed by repaint_file to
  2477.     the display engine.  This should be usefull for the X version of
  2478.     the code, since we don't need to duplicated the repainting code.
  2479.  
  2480. Fri Jun  9 20:51:22 1995  Sinolitis Vadim <vvs@nsrd.npi.msu.su>
  2481.  
  2482.     * widget.c (radio_callback): Now the focus color tracks the
  2483.     cursor. 
  2484.  
  2485. Thu Jun  8 22:02:38 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
  2486.  
  2487.     * wtools.c (query_dialog): this one also uses now the label
  2488.     instead of the draw callback.
  2489.  
  2490. Thu Jun  8 13:54:19 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2491.  
  2492.     * setup.c (save_panel_types): Save setup bug fix, now it only
  2493.     saves the listing status if it is a listing, this should get rid
  2494.     of the random user formats appearing.
  2495.  
  2496.     * key.c (get_event): M-enter works on slang.
  2497.  
  2498. Mon Jun  5 13:22:52 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2499.  
  2500.     * layout.c (change_screen_size): Resizing is working again.
  2501.  
  2502. Sat Jun  3 15:51:15 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2503.  
  2504.     * dlg.c (init_widget): Data is cleared on init_widget.
  2505.  
  2506.     * mcfs.c (mcfs_readdir): Now it allocates the cached directory
  2507.     list in the proper order, also frees the catched directory
  2508.     contents.
  2509.  
  2510.     * key.c: Disposal of the sequences and the channel lists. 
  2511.  
  2512.     * Changed printw calls for addstr where possible. 
  2513.  
  2514. Sat Jun  3 11:44:30 1995  "Sinolits Vadim V." <vvs@nsrd.npi.msu.su>
  2515.  
  2516.     * tkmain.c (xtoolkit_init): Call the proper Tcl/Tk setup routines
  2517.  
  2518. Fri Jun  2 18:04:31 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2519.  
  2520.     * subshell.c (read_subshell_prompt): prompt_pos is reset upon
  2521.     seeing a newline or after calling feed_subshell instead of being
  2522.     reset each time here.  This fixes the bug of truncated prompts.
  2523.  
  2524. Fri Jun  2 16:20:00 1995  John Davis  <davis@space.mit.edu
  2525.  
  2526.     * sldisply.c (COLOR_EQS): Compare b&w attributes when running
  2527.     without color.
  2528.  
  2529. Fri Jun  2 10:38:11 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2530.  
  2531.     * main.c (copy_prog_name): Added support to copy the current
  2532.     pathname from the trees.
  2533.  
  2534. Tue May 30 20:29:40 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2535.  
  2536.     * slint.c, color.c: Added Slang support for Black and white
  2537.     terminals, thanks to John Davis for helping me with the code. 
  2538.  
  2539.     * subshell.c (read_subshell_prompt): return whenever we actually
  2540.     read something from the inferior subshell, if that's the case, we
  2541.     set the update_prompt flag.  
  2542.     (invoke_subshell): if we send commands to the subshell, do not
  2543.     repaint the loaded prompt, since the subshell will repaint it.
  2544.  
  2545. Sun May 28 11:54:02 1995  Jakub Jelinek  <root@jj>
  2546.  
  2547.     * aclocal.m4, configure.in, xview/Makefile.in: Autodetection of
  2548.     XView, you can use configure switches --with-xview,
  2549.     --with-xview-includes=path and --with-xview-libraries=path to
  2550.     override if configure cannot find yours xview libs/headers.
  2551.     There is a make goal mxc in xview/Makefile which now compiles quite
  2552.     the same Midnight Commander, but will contain XView support later
  2553.     on.
  2554.  
  2555. Thu May 25 20:34:17 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2556.  
  2557.     * key.c: Please note that on IRIX terminals you should set the
  2558.     .mc.ini variable irix_fn_keys to 1.
  2559.  
  2560.     * Use new version of Slang, now is covered under the GPL.
  2561.  
  2562.     * key.c (get_key_code): Now we have a nice routine that does the
  2563.     conversion for us of constants, this is needed at least for the
  2564.     slang version.
  2565.  
  2566. Fri May 26 09:58:12 1995  Jakub Jelinek  <jj@jfch.vc.cvut.cz>
  2567.  
  2568.     * Restructuralized the system of Makefiles to be one per dir,
  2569.     also moved to the config.h autoconf model, so that our command
  2570.     lines do not get unbearable chunks of -D defines. Note:
  2571.     The source for the root Makefile and autoconf sources are
  2572.     in the config directory in order to keep the root directory
  2573.     moreless clean :)
  2574.  
  2575. Thu May 25 17:32:52 1995  Jakub Jelinek  <jj@jfch.vc.cvut.cz>
  2576.  
  2577.     * command.c (examine_cd, do_cd_command): Changed the behaviour
  2578.     of our internal cd command (the one typed on the command line).
  2579.     Now we support simple variable expansion, but without quoting,
  2580.     i.e. all the $VAR and ${VAR} will be expanded if the variables
  2581.     exist, otherwise it will remain $VAR or ${VAR}. Any comments??
  2582.     The second thing is that we now in case of failure use
  2583.     the CDPATH variable used by bash etc., which has a $PATH form
  2584.     and specifies paths which will be added at the beginning of the
  2585.     requested path in case it is not absolute.
  2586.     Other possibility for the user is to run
  2587.     eval cd 'path'
  2588.     and he'll get all his shell behaviour he wants to.
  2589.     NOTE: This should be documented :)
  2590.  
  2591. Tue May 23 13:12:53 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2592.  
  2593.     * main.c (init_sigchld): Bug fix: install the sigchild signal
  2594.     handler.
  2595.  
  2596.     * vfs.c (mc_mmap): Small bug fix: store the actual place where the
  2597.     mmap took place.  Thanks again to Wim for providing a test case
  2598.     for this bug.
  2599.  
  2600.     * screen.c (panel_event): Marking with the mouse works again.
  2601.  
  2602.     * mcserv.c, mcfs.c: Use the portmapper to register a system port,
  2603.     this gets rid of the security weakness of the server.
  2604.  
  2605.     * mcfs.c, ftpfs.c: Use the common routine get_host_and_username to
  2606.     parse remote addresses instead of two separate routines.  
  2607.  
  2608.     * tar.c (open_tar_archive): Reset the read pointer on the
  2609.     compressed tar file, split in three functions (tar_open): set a
  2610.     proper value for file->fd (tar_close): do not close files that
  2611.     have not been opened.
  2612.  
  2613. Mon May 22 17:39:00 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2614.  
  2615.     * profile.c: Now we handle integers instead of shorts.
  2616.  
  2617.     * vfs.c (mc_mmap): Added checking for invalid file handles
  2618.  
  2619.     * widget.c (radio_event): Mouse support works again on radio
  2620.     buttons (thanks to Jakub for pointing this bug to me).
  2621.  
  2622.     * menu.c (menubar_event): Now dragging from a non-dropped menu bar
  2623.     drops the menubar as it should (thanks again to Jakub).
  2624.  
  2625.     * find.c: Now uses the vfs.
  2626.  
  2627.     * info.c (info_hook): Do not display the info view if there is an
  2628.     overlapping window in top of us.
  2629.  
  2630. Sun May 21 22:36:13 1995  Jakub Jelinek  (jelinek1@jfch.vc.cvut.cz)
  2631.  
  2632.     * vfs.c, tar.c, ..., boxes.c: Added a rubbish collector for
  2633.         non local virtual file systems. If an archive / connection
  2634.         is not as current dir in any panel and if it has no open
  2635.         files and it is not an envelope of an unfreed tar archive,
  2636.         we give it a user selectable timeout (in seconds) from the
  2637.         last operation on the archive/connection and after the
  2638.         timeout we free it.
  2639.  
  2640.     * tar.c, boxes.c: Added a user selectable limit for gzipped
  2641.     tar archives. If the uncompressed size is less than this limit,
  2642.     archive will be gunzipped into memory, if it is not, than we
  2643.     gunzip it somewhere into /tmp. The user can also set that
  2644.     he wants all the archives to be extracted into memory or to
  2645.     disk (the latter one by setting the limit to 0 B).
  2646.     Both vfs options are in the Virtual FS dialog from the Option menu.
  2647.  
  2648. Thu May 18 11:16:45 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2649.  
  2650.     * view.c (get_byte): Now the viewer will show you the contents of
  2651.     the zero length files by setting it's mode to growing buffers, so
  2652.     now it's possible to see all those nice files on /proc with the
  2653.     viewer.
  2654.  
  2655.     * widget.c: Moved the buttonbar code from win.c 
  2656.     (input_callback): Now we actually quote everything
  2657.  
  2658.     * ftpfs.c (parse_ls_lga): Should work with more ftp servers
  2659.     (ftp.dec.com, ftp.nuclecu.unam.mx, prep.ai.mit.edu are working). 
  2660.  
  2661. Wed May 17 13:11:49 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2662.  
  2663.     * Makefile.in (mcserv): Fixed the Makefiles for old and broke make
  2664.     programs that do not handle the $< on regular dependencies (just
  2665.     .c.o for example).
  2666.  
  2667. Wed May 17 23:19:03 1995  Jakub Jelinek  (root@jj)
  2668.  
  2669.     * ext.c (regex_command): Call the file command even on non-local
  2670.     files, but if it is non-local, pipe the first 8192 bytes of the
  2671.     file on standard input of a `file -` command.
  2672.  
  2673.     * util.c (mc_doublepopen, mc_doublepclose): The routines for
  2674.     piping input and output of an command from tar.c moved here and
  2675.     made for more general use (currently this is called also from
  2676.     regex_command).
  2677.  
  2678. Tue May 16 12:32:00 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2679.  
  2680.     * view.c (view): Now we return a truth value telling if we were
  2681.     able to show or not the file.
  2682.  
  2683.     * ext.c (regex_command): Do not call the file command on non-local
  2684.     files.  
  2685.  
  2686.     Now we only make a localcopy if the command is not a chdir
  2687.     command.  This allows us to still use filters for viewing files
  2688.     while using the chdir command properly (ie: we do not chdir to
  2689.     mc:dir//tmp/something).
  2690.  
  2691.     * configure.in: Now autodetects the proper value for formatting
  2692.     man pages (-mandoc or -man macros) and also detect the arguments
  2693.     to the file command required by view.c
  2694.  
  2695.     * tree.c (tree_do_search): Trees now have searches again.
  2696.  
  2697.     * boxes.c (tree): We have the tree routine again working.
  2698.  
  2699.     * layout.c (get_current_index, get_current_type, get_other_type):
  2700.     We do not use midnight_dlg->current->widget anymore as an alias
  2701.     for current_panel, since for instance commands executed from the
  2702.     menu make midnight_dlg->current be the menubar and not a panel.
  2703.     We use cpanel that is currently being set by
  2704.     panel_event/WIDGET_FOCUS. 
  2705.  
  2706.     This fixes the compare directories command, thanks to Wim for
  2707.     pointing out this bug. 
  2708.  
  2709. Sun May 14 14:48:07 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2710.  
  2711.     * main.c (tree_box): Started to code the tree box using the tree
  2712.     widget.  It's almost there.
  2713.  
  2714.     * view.c (toggle_hex_mode): Calling get_bottom_first is a very
  2715.     expensive operation (on a 386@16 Mhz it takes several seconds (half
  2716.     a minute reported on another machine) to switch from hex mode to
  2717.     ascii mode. 
  2718.  
  2719.     * tree.c (show_tree): Now the tree code uses the colors defined
  2720.     for the dialog.
  2721.  
  2722.     * configure.in (witf-vfs): Small bug fix, thanks to
  2723.         fbingha@ultrix5.cs.csubak.edu
  2724.  
  2725. Mon May 15 21:29:05 1995  Jakub Jelinek  (root@jj)
  2726.  
  2727.     * ftpfs.c, mcfs.c, tcputil.c: First trial on a ftp file system:
  2728.     the syntax is as follows:
  2729.         ftp://[[user]@]host[:port]/remotepath
  2730.     e.g.:
  2731.         ftp://sunsite.unc.edu/pub/linux    (anonymous ftp)
  2732.         ftp://miguel@roxanne.nuclecu.unam.mx/c/nc (ftp login as miguel)
  2733.         ftp://myhost.foo.edu:4311/public  (anonymous on specified port)
  2734.         ftp://@jj.vc.cvut.cz/src        (ftp login as your current 
  2735.                                              login name)
  2736.     Take care, it is only ---------------pre-ALPHA version. Really not
  2737.     ready for any use, except bug fixing.
  2738.  
  2739. Sat May 13 19:29:03 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2740.  
  2741.     * tar.c (__tarfs_find_entry): On the strcmp (pent->name, p),
  2742.     changed the break for a return pent.  This should fix the bug on
  2743.     my Linux box.
  2744.  
  2745. Sat May 13 22:45:00 1995  Jakub Jelinek  (root@jj)
  2746.  
  2747.     * mc.edit: New configuration file (can be overridden by a
  2748.     ~/.mc.edit) of the same format as mc.ext and mc.view. Defines
  2749.     which editors are for which extensions or types of files.
  2750.  
  2751.     * ext.c (exec_extension): Made possible viewing and editing
  2752.     of files in non-local vfs's. Currently the %f parameter, if it
  2753.     should be expanded to a non-local vfs name (like tar:...tar/name),
  2754.     is substituted by a temporary name in /tmp, into which is the
  2755.     non-local file copied. Then, as soon as you finish with
  2756.     viewing/editing/extension dependent command, we look if the file
  2757.     /tmp/something was changed. If it is so, we update it by copying
  2758.     back - note: tarfs is read only at the moment.
  2759.     Also note that only %f parameter is handled in this way.
  2760.  
  2761.     * Fixed a readlink problem on the artificial .. directory in the
  2762.     root of the tar archive.
  2763.  
  2764. Fri May 12 19:17:02 1995  Jakub Jelinek  (root@jj)
  2765.  
  2766.     * util.c (string_perm): Fixed text mode appearance when there is no
  2767.     x and we put there an s or t over (suid, sgid or sticky). Then the
  2768.     letter should be uppercase.
  2769.  
  2770.     * tar.c (make_dot_doubledot): Created an fictive .. entry in the
  2771.     root of the tar archive so you can easily escape by pressing enter
  2772.     on it. (Previously you had to do a cd ..).
  2773.  
  2774.     (read_header): Fixed a problem on non-ANSI tar archives.
  2775.  
  2776.     * tar.c (tarfs_analysis): Now correctly enters tar archives
  2777.     by the cd tar:/path/archive.tar/ and cd tar:archive.tar/ method.
  2778.  
  2779.     * vfs.c (mc_opendir, mc_chdir): Fixed a problem when there was
  2780.     an tar archive (or gzipped/compressed tar) inside of the tar archive
  2781.  
  2782. Thu May 11 18:13:20 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2783.  
  2784.     * configure.in: the subshell support and the vfs code are now the
  2785.     default build options, the user should specify --without-subshell
  2786.     and --without-vfs in case it wants to.
  2787.  
  2788.     * boxes.c (display_bits_box), wtools.c (quick_dialog): Now we use
  2789.     radio buttons to display the display bits.  Implemented the
  2790.     quick_radio routine to achieve this.  
  2791.  
  2792.     * screen.c (next_page_key), cmd.c (view_cmd): They both check for
  2793.     links to directories now to perform a chdir.
  2794.  
  2795.     * slint.c: Removed dependency on the local slang patch
  2796.  
  2797.     * main.c, user.c: Misc checks, we do not use opanel without
  2798.     checking for it's type first.
  2799.  
  2800.     * user.c (test_condition): Fixed another bug reported by Wim
  2801.     Osterholt: We check for the validity of the other panel type.
  2802.  
  2803.     * layout.c (set_display_type): Fix: if the panel has been resized
  2804.     artificially and we are switching to a panel type that does not
  2805.     make use of the long panel size, reduce the panel size, thanks to
  2806.     Wim Osterholt for pointing this bug.
  2807.  
  2808. Thu May 11 22:31:10 1995  Jakub Jelinek  (root@jj)
  2809.  
  2810.     * changed 0 to UP_KEEPSEL in most update_panels calls in order
  2811.     to keep current selection in the other panel as stable as possible.
  2812.  
  2813.     * view.c (get_byte): fixed viewing on non-local vfs's (there was a
  2814.     read instead of an mc_read call)
  2815.  
  2816.     * view.c (init_growing_buffer): Fixed viewing of non-piped
  2817.     not mmaped files
  2818.  
  2819.     * view.c (display): Assured that we have always to show something if
  2820.     it is in the pipe
  2821.  
  2822. Wed May 10 21:02:30 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2823.  
  2824.     * tcputil.c (tcp_init, rpc_send, rpc_get), mcfs.c: We now check
  2825.     the status of the connection, the program should not block anymore
  2826.     if the server crashes or disconnects.
  2827.  
  2828.     mcfs.c (mcfs_get_host_and_username): Now parses correctly the user
  2829.     name (mc:remotehost:remoteuser/utils is a correct path for example).
  2830.  
  2831. Tue May  9 11:45:10 1995  Miguel de Icaza  <miguel@nuclecu.unam.mx>
  2832.  
  2833.     * mcserv.c (do_auth): If root, change the UID and the GID to those
  2834.     of the user logged in.  If the user logged in as anonymous or ftp,
  2835.     do a chroot to the directory of the ftp/anonymous account.
  2836.  
  2837. Wed May 10 22:09:12 1995  Jakub Jelinek  (root@jj)
  2838.  
  2839.     * dir.c (set_zero_dir), main.c (do_cd): Currently we can cd
  2840.     into directories --x (we will see only ..), but we should be
  2841.     able to get there. Also, fixed a problem when the one of the parent
  2842.     is not readable (then Permission denied is displayed instead of the
  2843.     directory path). Only works in vfs. But - does somebody need not to
  2844.     use vfs? I think we should make it as default or the only
  2845.     possibility.
  2846.  
  2847.     * util.c (name_trunc): I know I'm not going along with the crowd
  2848.     when using non-printable characters in directory names, but this
  2849.     makes me happy. It doesn't scramble the screen any more :-)
  2850.  
  2851.     * view.c, vfs.c, local.c, tar.c, mcfs.c: Added mc_mmap and mc_munmap
  2852.     calls and converted viewing out of FILE f* calls, so that it works
  2853.     in vfs as well. mc_mmap call is defined only in localfs, but I'll
  2854.     extend it to tarfs soon.
  2855.  
  2856.     * widget.c: Fixed a problem in File Find - all input lines were
  2857.     passworded (*), the is_password was uninitialized.
  2858.  
  2859. Mon May  8 13:29:59 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2860.  
  2861.     * widget.c (update_input), wtools (quick_widget, input_dialog):
  2862.     Added support for password prompts.
  2863.  
  2864.     * mcserv.c (do_auth): Now we try to authenticate with pwdauth if
  2865.     available on the system, then we try the conventional validation
  2866.     method (this only works on systems without the shadow suite) and
  2867.     finally we try to login to a local ftp server.
  2868.  
  2869.     * view.c (view_labels): F3 is also a quit key, very usefull for
  2870.     browsing large amounts of information (F3 chdirs, F3, enters
  2871.     viewer, F3 quits viewer).
  2872.  
  2873. Sun May  7 13:31:59 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2874.  
  2875.     * mcserv.c (do_auth), mcfs.c (login_server): Added authentication,
  2876.     currently it only supports authentication by connecting to a local
  2877.     FTP server and trying to login.
  2878.  
  2879.     * main.c (quit_cmd): Fixed the quit bug when confirm_exit was 0.
  2880.  
  2881. Sat May  6 14:31:26 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2882.  
  2883.     * util.c (delete_hook): Fixed the delete_hook routine, now it
  2884.     may delete hooks on hook variables with more than one hook.
  2885.  
  2886.     (hook_present): Returns true if a function is on the hook list
  2887.  
  2888.     * layout.c (set_display_type): Load the currently selected file in
  2889.     the quick view panel, not /etc/motd
  2890.  
  2891.     * view.c: Fixed view initialization (quick view mode had
  2892.     problems).
  2893.     quick view now is updated on the idle time.
  2894.  
  2895. Thu May  4 13:37:27 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2896.  
  2897.     * main.c (do_execute): Console is now refreshed here, we do not
  2898.     rely on the client function calling do_refresh.
  2899.  
  2900.     * mcfs.c: Now functions check the return value of mcfs_get_path.
  2901.  
  2902.     * vfs.c: mcfs and local file system do not use the trailing slash
  2903.     any more.
  2904.  
  2905. Tue May  2 17:48:28 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2906.  
  2907.     * boxes.c (display_box): Now the current_mode is set before
  2908.     initializing the display box.
  2909.  
  2910. Wed May  3 17:20:13 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
  2911.  
  2912.     * tar.c, vfs.c, main.c: Changes to the current directory handling,
  2913.     paths across virtual filesystems, extensive use of vfs_canon.
  2914.  
  2915.     * tar.c: Now uses real growing buffers - still locks on some
  2916.     large gzipped tar.gz's :-(
  2917.  
  2918. Tue May  2 18:05:34 1995  Radek Doulik  <root@RoDo-station>
  2919.  
  2920.     * main.c (quit_cmd): fixed bug when confirm_exit is 0
  2921.  
  2922.     * achown.c (advanced_chown_callback): repaired cursor move
  2923.  
  2924.     * key.c (mi_getch): bug fix in while () - enables ^X key
  2925.     combinations for libc.5.* 
  2926.  
  2927.     * chmod.c, chown.c: new variables - shared by ch* commands,
  2928.     needed for correct redraw (try ^L)
  2929.  
  2930. Tue May  2 00:01:05 1995  Jakub Jelinek  (jj@jj)
  2931.  
  2932.     * tar.c, tar.h, vfs.c, vfs.h, ...: Added tar and compressed tar
  2933.     support. Still buggy, read only, view doesn't work there...
  2934.     
  2935.     * ext.c: Added the %cd command, which can be called to change current
  2936.     mc's directory, like in
  2937.     \.tar$ %cd tar:%d/%f/
  2938.  
  2939. Fri Apr 28 18:32:15 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2940.  
  2941.     * dlg.c (slow_box), screen.c: Use the slow_terminal variable to
  2942.     avoid drawing the acs chars.
  2943.  
  2944. Thu Apr 27 17:06:56 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2945.  
  2946.     * screen.c, panel.h: searching and was_searching are now state
  2947.     variables of each panel.
  2948.  
  2949.     * view.c (get_line_at): Search optimization: gets the string only
  2950.     one time, not two times as it used to do.
  2951.  
  2952.     * setup.c (load_setup), screen.c (panel_destroy, panel_new):  Ugly
  2953.     hacks to let us use the profile mechanism to keep values of the
  2954.     panels between mode switches while not being an auto-save feature.
  2955.  
  2956. Mon Apr 24 16:17:53 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2957.  
  2958.     * widget.c (handle_char): Clear the quote variable after we have
  2959.     used it. 
  2960.  
  2961. Tue Apr 25 20:31:12 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
  2962.  
  2963.     * ext.c (regex_command): We now take from the `file -L' command
  2964.     only output after the initial filename: and whitespace, 'cause
  2965.     I had problems with viewing files that contained gzip in its name.
  2966.  
  2967.     * file.c: made a hardlink cache, so that we retain hardlinks
  2968.     (if you have a hardlink to a file and that file was already copied,
  2969.     then the new file is just a hardlink to that file it was copied).
  2970.     Copying of special files (block, character, fifos and sockets) is
  2971.     now possible. Copy and move now handles always with absolute
  2972.     filenames (I think the vfs will need it absolutely) and the
  2973.     added cwd is stripped when displaying the source. When copying
  2974.     a symlink to a directory, it will be a symlink and not a directory.
  2975.  
  2976.     * find.c: Fixed the problem when no files were found in the search
  2977.     (you had to kill mc).
  2978.  
  2979.     * menu.c: Fixed a problem with movement keys in menus when compiled
  2980.     with the libc.so.5.x.x (ELF) on Linux.
  2981.  
  2982.     * local.c: Fixed some obvious bugs (local_write, local_open).
  2983.  
  2984. Wed Apr 19 10:43:37 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2985.  
  2986.     * vfs.c, local.c: started the vfs layer code, currently only the
  2987.     local case is handled.
  2988.  
  2989.     * dlg.c (dlg_try_hotkey): User Interface Change: Hotkeys are not
  2990.     sent anymore when the focus is on an input line, this fixes a long
  2991.     standing bug.  
  2992.  
  2993.     Support has been added to use hotkeys bounded to alt-<char> they
  2994.     are converted to char events on the try hotkey routine.
  2995.  
  2996. Tue Apr 18 18:26:20 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  2997.  
  2998.     * screen.c: Panels use a private search_buffer instead of a global
  2999.     one.
  3000.  
  3001.     * slint.c, myslang.h: Added the slang support, currently it runs
  3002.     only in color.
  3003.  
  3004.     * color.c: reorganized code, now the boldness of the attributes is
  3005.     not hard coded, there is a new set of bright colors.
  3006.  
  3007. Wed Apr 19 00:39:10 1995  Jakub Jelinek (jelinek1@jfch.vc.cvut.cz)
  3008.  
  3009.     * complete.c (complete_engine): Fixed a bug that caused
  3010.     completions not to be shown at all on some places where it should
  3011.     be applied (namely when you had a space just on the current point).
  3012.  
  3013.     * cmd.c (view_cmd): Changed so that it uses ~/.mc.view and mc.view
  3014.     files to determine which program should be piped for which file.
  3015.  
  3016.     Format of the mc.view file is the same as of the mc.ext file. Both
  3017.     were extended now: They can include white lines, comments (#......),
  3018.     files can be matched using an exact match (when beginning with .
  3019.     like in .tar.gz), using an regexp match or shell pattern match
  3020.     (depends on setting shell_patterns=0/1 as the first line of the mc.*
  3021.     file) and using an regexp match on output of the `file -L %f'
  3022.     command (using the ?"pattern" syntax). In this case you can
  3023.     use embedded spaces (when quoted by \). Take care with the ^
  3024.     character in the pattern - a usual output of the file -L command
  3025.     starts with the full pathname, followed by :, space and then
  3026.     description of the content.
  3027.     Included one more preprocessed command - %view, optionally followed
  3028.     by {} with a list of view options separated by commas. Currently
  3029.     only ascii, hex, nroff and unformatted are supported. This command
  3030.     causes all the rest of the command (this command is replaced by
  3031.     nothing) is run and its standard output is piped into the internal
  3032.     viewer. If only %view command is given and nothing else, like in
  3033.  
  3034.     ?"executable" %view{hex}
  3035.  
  3036.     then the internal viewer is forced to load just the file %f and
  3037.     set the viewer attributes.
  3038.  
  3039.     * ext.c: Rewritten in order to handle changes described above.
  3040.  
  3041.     * view.c (view, view_init, do_view_init, init_growing_buffer):
  3042.     Changed arguments to these routines, there is no is_program any
  3043.     more, but two strings: command and filename. If command is NULL, it
  3044.     is like is_program=0 before. If command is not NULL, then depending
  3045.     on the Parsed/Raw option (the F8 option was renamed so) will pipe
  3046.     in command or display filename. In the status line on top filename
  3047.     is always shown and not command (no more nroff -... titles on
  3048.     the status field, just manpage.1).
  3049.  
  3050. Fri Apr 14 14:32:25 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  3051.  
  3052.     * main.c (setup_mc): We should not push a refresh handler anymore,
  3053.     it's handled by the dialog manager.
  3054.  
  3055.     * util.c (close_error_pipe): Fixed a long standing bug.  Need to
  3056.     check len for indexes that are > 0, otherwise we override the
  3057.     stack contents.  In this special case the variable that got
  3058.     overwritten is part of the $edi register variable, this had
  3059.     unexpected consequences.  The first documented symptom was
  3060.     detected by Erwin when quitting the view command on a runnable
  3061.     region. 
  3062.  
  3063. Mon Apr 10 13:05:55 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  3064.  
  3065.     * screen.c (panel_key): Fixed the problem with Alt-s adding an 's'
  3066.     to the search.
  3067.  
  3068.     KEY_LEFT and KEY_RIGHT events are only used if we have a need to
  3069.     do it same done on tree.c tree_key.
  3070.  
  3071. Sun Apr  9 20:42:12 1995  Jakub Jelinek  <jj@jj.vc.cvut.cz>
  3072.  
  3073.     * cmd.c (view_other_cmd): Subshell support should compile now.
  3074.  
  3075.     * menu.c (menubar_paint_idx): Menu separators.
  3076.  
  3077.     * view.c (display, move_forward2, change_nroff): Added possibility
  3078.     to switch the nroff style formatting off (using the F9 key).
  3079.  
  3080.     * view.c (search, regexp_view_search, do_regexp_search): Searching
  3081.     should now work on growing buffers, regexp searches should be OK
  3082.     as well (and search for real regexps and not for shell patterns -
  3083.     formerly was a F6 search for a.e a search for ^a\.e (and nobody has
  3084.     expected it)).
  3085.  
  3086.     * command.c (do_cd_command): Fixed a problem with the cd command
  3087.     when no space was after cd characters (just enter).
  3088.  
  3089. Tue Apr  4 17:38:24 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
  3090.  
  3091.     * key.c (get_event): The mouse is displayed after the refresh.
  3092.  
  3093.     * main.c (menu_cmd): F9/Shift-F9 works again.
  3094.  
  3095. Tue Apr  4 16:50:46 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3096.  
  3097.     * file.c (panel_operate): Fix by Ron Sommeling <sommel@sci.kun.nl>
  3098.     Actually use the setting of the confirm_delete variable.
  3099.  
  3100. Sat Apr  1 19:18:52 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3101.  
  3102.     * menu.c: Has been converted to a widget.  I have tried to
  3103.     keep the cursor in the selection place.  This should help people
  3104.     without colors.
  3105.  
  3106.     * main.c, cmd.c: Subshell support works again.
  3107.  
  3108.     * layout.c: The program should work now with the
  3109.     nice_rotating_dash option set.
  3110.  
  3111. Mon Mar 27 13:14:25 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3112.  
  3113.     * dlg.c (run_dlg): Hotkey is allways sent to the current widget if
  3114.     they have set the W_WANT_HOTKEY value.  It is not sent only if
  3115.     WIDGET_HOTKEY returns 1.
  3116.  
  3117. Sat Mar 25 18:40:15 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3118.  
  3119.     * tree.c: Converted to a widget.
  3120.  
  3121. Fri Mar 24 20:16:52 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3122.  
  3123.     * setup.c (load_setup): We do not expect any longer to have the
  3124.     variables sort_* and display type.
  3125.  
  3126. Thu Mar 23 12:37:02 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3127.  
  3128.     * layout.c (set_display_type): This function takes care of the
  3129.     views displayed in the screen.  It is responsible for creating and
  3130.     destroying the left and right panels.  This routine is the one to
  3131.     be changed for the multiple panels support.  
  3132.  
  3133.     * screen.c (panel_destroy): Save the setup just before shutting down.
  3134.     (panel_new): Load the setup at panel startup.
  3135.  
  3136.     * setup.c (panel_save_setup, panel_load_setup): Functions to load
  3137.     and save the setup.
  3138.  
  3139.     * boxes.c (display_init): Do not call the input_set_point routines
  3140.     before adding the widget to the proper place.
  3141.  
  3142.     * configure.in (LIBS): We do not use the writable-strings anymore.
  3143.  
  3144. Mon Mar 27 14:48:12 1995  Jakub Jelinek  <jjel3210@beta.ms.mff.cuni.cz>
  3145.  
  3146.     * util.c (icase_search): Fixed a bug in searching algorithm.
  3147.  
  3148.     * util.c (canonicalize_pathname): This routine handled incorrectly
  3149.     ../../* and such things (this particular was squeezed to /).
  3150.  
  3151.     * view.c (get_byte): get_byte always returns -1 if we try to look
  3152.     past the buffer.
  3153.  
  3154.     * (display): Added _\b? sequence (underlined in ntroff) as red on
  3155.     blue, added highlighting of search results - FIXME: it has to work
  3156.     with regexps as well.
  3157.  
  3158.     * (search): Now we can search through binary files (containing some
  3159.     \0 stuff) as easy as in text files and we support result
  3160.     highlighting.
  3161.  
  3162.     * (block_search, hex_search): Fixed a bug in searching algorithm.
  3163.  
  3164. Wed Mar 22 13:45:58 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3165.  
  3166.     * main.c (repaint_screen): Now we call do_refresh ().
  3167.  
  3168.     * widget.c (input_new): Do not call update_input at program
  3169.     startup, wait for the kind WIDGET_DRAW message to arrive.
  3170.  
  3171.     * hotlist.c, chmod.c, chown.c, boxes.c, achown.c, wtools.c,
  3172.     option.c, layout.c: Converted them to use the new widget methods.
  3173.  
  3174. Tue Mar 21 13:35:11 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3175.  
  3176.     * dlg.c (add_widget): Modify widget position relative to the
  3177.     dialog origin.
  3178.  
  3179.     * win.c: Implemented the WButtonBar widget.  Changed the code to
  3180.     use this widget.
  3181.  
  3182.     * main.c (midnight_callback): DLG_UNHANDLED_KEY now takes care of
  3183.     the hotkeys.
  3184.  
  3185. Mon Mar 20 10:28:00 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3186.  
  3187.     * widget.c (input_callback): Return whenever the input char is
  3188.     processed. 
  3189.  
  3190.     * input.c (handle_char): Now returns if the character was handled.
  3191.  
  3192.     * widget.c (button_callback, radio_callback, check_callback,
  3193.     input_callback, listbox_callback): Respond to the WIDGET_CURSOR
  3194.     message.
  3195.  
  3196.     * dlg.c (dlg_redraw): After redrawing, send a message to let the
  3197.     widget put the cursor in a suitable place.  This is needed since
  3198.     the panel implementation forces the cursor to stay on the panel. 
  3199.  
  3200.     * cmd.c: moved most *_cmd functions from main to this file.
  3201.  
  3202.     * panel.h (selection): Now we should specify an argument (the panel).
  3203.  
  3204. Sun Mar 19 14:48:47 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3205.  
  3206.     * dlg.h: Removed unnecessary WIDGET_CHECK_HOTKEY.
  3207.     Widget: added options to the widget structure.
  3208.  
  3209.     * command.c: New file, implements the WCommand widget.  This is a
  3210.     widget based on WInput.  This widget does not accept the focus but
  3211.     accepts the unused keys messages.  
  3212.  
  3213.     * main.c: left_panel and right_panel are now Panel *.
  3214.     (view_cmd): We really meant do-cd, not action.
  3215.  
  3216.     (init_panels): Use the new syntax for panel creation.
  3217.  
  3218. Sat Mar 18 19:21:24 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3219.  
  3220.     * main.c (do_cd): Now it calls cd_try_to_select when the chdir was
  3221.     successfull. 
  3222.  
  3223.     * screen.c (ITEMS, select_item, unmark_files, panel_event,
  3224.     select_cmd, unselect_cmd, move_down, move_up, move_left,
  3225.     move_right, mark_file, move_home, move_end, next_page_key,
  3226.     prev_page_key, goto_top_file, goto_middle_file, goto_bottom_file,
  3227.     next_page, prev_page, start_search): Moved from main.c
  3228.     
  3229.  
  3230.     (panel_event): Cleaned up.
  3231.  
  3232.     renamed do_init_panel to panel_init
  3233.     renamed init_panel    to panel_set_size
  3234.  
  3235.     * panel.h (Panel structure):
  3236.     replaced: 
  3237.     view_type with list_type
  3238.  
  3239.     added:
  3240.     Widget structure to make it a widget.
  3241.  
  3242.     removed:
  3243.     x, y, cols, lines, xpos, ypos: these are redundant with the 
  3244.     widget element.
  3245.     half_cols, full_cols: now we compute the values directly
  3246.     is_status: Panel is only used as a FileListing Widget.
  3247.        
  3248.     (prototypes): Renamed panel functions to make them more uniform.
  3249.  
  3250.     * panel.c: Panel routines do not use a special window anymore,
  3251.     just stdscr (this is needed for the slang port).
  3252.  
  3253.     * dlg.c (dlg_broadcast_msg): Changed redraw order: this forces the
  3254.     current item to be the last one drawn.
  3255.  
  3256. Fri Mar 17 13:38:41 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
  3257.  
  3258.     * mc.1: Updated man page for completion.
  3259.  
  3260.     * complete.c: Last big completion changes.
  3261.     (command_completion_function): Command completion algorithms,
  3262.     currently supports bash reserved words and builtins only (and of
  3263.     course examining of $PATH).
  3264.     (completion_matches): We remove duplicate possibilities.
  3265.     (try_complete): Changed algorithm where to do which completion.
  3266.     (complete): Now we use the show_all_if_ambiguous variable to find
  3267.     out if we should popup possibilities for the first or for the
  3268.     second time M-Tab is pressed.
  3269.     
  3270.     * main.c (change_panel, do_cd): On these events we dismiss all the
  3271.     collected possibilities like we do if the user types any character
  3272.     on the input line.
  3273.     (do_nc): We allow command completion on the command line (of course
  3274.     ;-)).
  3275.  
  3276. Wed Mar 15 20:48:13 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3277.  
  3278.     * panel.h: the selection variable now is a macro that returns the
  3279.     current value of the selection instead of relying in a possibly
  3280.     inaccurate value (I already have seen this).
  3281.  
  3282.     * option.c: Fixed hotkeys.
  3283.     (init_configure): Fixed indexes.
  3284.  
  3285.     * mem.h (bcopy): Fixed horrible bug, should not use macros that
  3286.     much. 
  3287.  
  3288.     * main.c (view_cmd): Added quick hack to load man pages through
  3289.     the nroff program using the new growing buffers routines.
  3290.  
  3291.     * view.c (get_byte): Rewrote routine to use growing buffers.
  3292.     (init_growing_view): New function to open the view stream.
  3293.     (load_view_file): cleaned up error handling return values.
  3294.     (free_file): free the growing buffer memory blocks.
  3295.  
  3296.     * main.c (prev_page, next_page, prev_page_key, next_page_key): The
  3297.     PgUp, PgDn key + Control works by doing a chdir up or down, while
  3298.     the C-v and Alt-v keys moves by pages.
  3299.  
  3300. Tue Mar 14 14:22:48 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3301.  
  3302.     * view.c (view_status): Should not break even if s.st_size is 0.
  3303.     (view_init, do_view_init): now we can specify that the input comes
  3304.     from a program.
  3305.  
  3306. Mon Mar 20 11:36:10 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
  3307.  
  3308.        * main.c (select_item), screen.c: Some more orphans in the panels
  3309.        removed.
  3310.  
  3311.        * widget.c (label_callback): Mc displays correctly multi-lines
  3312.       labels (it didn't before).
  3313.  
  3314.        * wtools.c (input_dialog): Fixed the width problem in dialogs wider
  3315.        than 64...
  3316.  
  3317. Mon Mar 13 13:15:59 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
  3318.  
  3319.     * complete.c: Next step (probably one more is needed to get it
  3320.     somehow working with all the expected features, but not bug free).
  3321.     Now it does hostname completion, if the current word beginns with
  3322.     a @, username if ~, variable if $ and filename as before. It doesn't
  3323.     do command completion, checking of where to apply which completion
  3324.     is not in the state it should be and also you cannot choose whether
  3325.     the auto_query_if_ambiguous (in this version is the default bash's
  3326.     behaviour, so we first beep and for the second time show the
  3327.     possibilities. completion now shows a / after completing a directory
  3328.     or username.
  3329.  
  3330. Thu Mar  9 21:25:43 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3331.  
  3332.     * colors.c (init_colors): provide dialog_colors with proper
  3333.     values. 
  3334.  
  3335.     * dlg.c (create_dlg): New dialog creation function.  It allocates
  3336.     the window instead of letting the caller do the window allocation.
  3337.  
  3338.     * file.c wtools.c, boxes.c, chown.c, achown.c, option.c: 
  3339.  
  3340.     Switch to create_dlg instead of dlg_new.
  3341.  
  3342.     Do not use the window directly, use the window member of the
  3343.         Dlg_head structure.
  3344.  
  3345.     Use the coloring scheme dialog_colors instead of it's own copy per
  3346.     module. 
  3347.  
  3348. Fri Mar 10 08:21:16 1995  Jakub Jelinek    (jelinek1@jfch)
  3349.  
  3350.     * view.c (display, move_forward2, move_backward2): Changed so it
  3351.     now correctly handles such things as the bold sequence split accross
  3352.     the lines in wrap_mode and so on. Cause even move_forward2 became
  3353.     very complex, I've changed in wrap_mode calls to move_backward2 to
  3354.     move_forward2 (after finding the previous \n), so there is only
  3355.     one place we have to change in the future when we want to change
  3356.     something in the scrolling :-)
  3357.  
  3358. Wed Mar  8 18:26:25 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3359.  
  3360.     * widget.c (listbox_add_item): Added duplicates handling.
  3361.  
  3362.     * wtools.c (new_chooser, run_chooser, destroy_chooser): Functions
  3363.     to write quick routines for selecting entries (possibly letting the
  3364.     user remove them).
  3365.  
  3366.     * widget.c (listbox_select_last): New function to remove the
  3367.     currently selected item.
  3368.  
  3369. Wed Mar  8 11:12:19 1995  Janne Kukonlehto  (jtklehto@indy4)
  3370.  
  3371.     * ../doc/FILES: Rewritten to conform new directory structure.
  3372.  
  3373.     * global.h: Replaced `#if defined(ultrix)...' with `#ifndef
  3374.     HAVE_STRDUP'.
  3375.  
  3376.     * help.c (show), help.h: Supports bold characters now.
  3377.  
  3378.     * layout.c (make_box): A new function which outputs a box of
  3379.     requested size at requested location. (move_resize_panel): A new
  3380.     function to move and resize the current directory panel.
  3381.  
  3382.     * layout.h: Added move_resize_panel.
  3383.  
  3384.     * main.c (only_refresh_screen, only_touchwin, untouch_bar,
  3385.     repaint_screen): Replaced wrefresh with wnoutrefresh/doupdate pair
  3386.     in order to reduce blinking. Reordered update sequence to be more
  3387.     compatible with moved and resized panels. Other small changes.
  3388.     (outrefresh_screen): A new function which marks all the standard
  3389.     windows for update but doesn't update them yet. Used by
  3390.     move_resize_panel. Useful to reduce blinking. (OptMenu): Added
  3391.     `Move/resize panel'. (handle_args): Fixed a small bug which
  3392.     prevented `-U' option from working.
  3393.  
  3394.     * main.h: Added outrefresh_screen.
  3395.  
  3396.     * man2hlp.c (handle_command): Checks that heading levels are even.
  3397.     Outputs bold_on/bold_off commands in the HLP mode, too.
  3398.  
  3399.     * panel.h: Added the coordinates of the top left corner. Required
  3400.     by move_resize_panel.
  3401.  
  3402.     * screen.c (init_panel): Sets the coordinates of the top left
  3403.     corner.
  3404.  
  3405.     * util.c (is_printable): I think DEL character is never printable.
  3406.  
  3407.     * view.c (display): Now show sequences like
  3408.     character-backspace-character as boldface (like less does).
  3409.     (move_forward2): Handles correctly character-backspace-character
  3410.     sequences. FIXME: I could not figure out how to change
  3411.     move_backward2 to handle char-bspace-char sequences correctly.
  3412.  
  3413. Tue Mar  7 22:12:13 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
  3414.  
  3415.     * widget.c (listbox_key): No more orphans in listboxes when
  3416.     pressing End.
  3417.  
  3418.     * widget.c (listbox_get_current): It didn't work with the
  3419.     second parameter NULL (if we didn't want to get extra data).
  3420.  
  3421.     * setup.c, option.c, main.c (*cd_symlinks): Added flag to enable
  3422.     /disable following of logical directory structure made of symlinks
  3423.     (which I have added 3 days ago). Rearranged key assignment in the
  3424.     Configuration dialog, so that all keys work for the check boxes
  3425.     where they are capitalized.
  3426.  
  3427.     * input.c (is_in_input_map): Test function for the complete engine.
  3428.  
  3429.     * complete.c: Now it shows a listbox of all possible completions
  3430.     if there are more then one, you can type characters when this
  3431.     listbox is displayed and mc will try to complete as much as it can.
  3432.     You may select an entry and press Enter to insert it into the
  3433.     input line or you can press M-Tab again if you've typed some
  3434.     characters and want to see fewer possibilities. Still lacks
  3435.     other completions than filename.
  3436.  
  3437.     * boxes.c: Cosmetic changes to the Display mode dialog.
  3438.  
  3439. Fri Mar  3 19:25:12 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3440.  
  3441.     * boxes.c (select_format, display_callback): Added a list for the
  3442.     user formats while pressing C-c.
  3443.  
  3444.     * man2hlp.c (handle_command): Small change to remove the spaces
  3445.     before the section name.
  3446.  
  3447. Mon Mar  6 08:38:12 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
  3448.  
  3449.     * new files: complete.c, complete.h - First steps for the
  3450.     filename/command/username/variable/hostname completion in
  3451.     the input lines. At the moment only filename completion is
  3452.     supported.
  3453.  
  3454.     * input.[ch]: Incorporation of complete.[ch] into the project,
  3455.     complete function is assigned to the M-Tab keystroke.
  3456.  
  3457. Sat Mar  4 21:19:32 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
  3458.  
  3459.     * main.c (do_cd): cd should follow symlinks up to the location
  3460.     where you've entered them and not to the .. directory of the
  3461.     real directory symlinks are pointing to.
  3462.  
  3463.     * util.c (canonicalize_pathname): This routine makes previous
  3464.     change possible and despite of that can be usefull elsewhere
  3465.     as well.
  3466.  
  3467. Tue Feb 28 09:39:20 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3468.  
  3469.     * boxes.c (display_bits_box): Added the nice dialog box for
  3470.     choosing the number of display bits.
  3471.  
  3472.     * util.c (is_printable): Added the full 8 bit support as well as
  3473.     iso-8859-1.
  3474.  
  3475.     * main.c (next_page): Now also handles C-PgDn, this chdirs into
  3476.     the current directory.
  3477.  
  3478.     * boxes.c (quick_dialog): New routine to write simple dialog boxes
  3479.     with confirmation boxes, no more, no less.
  3480.  
  3481.     * util.c (ctrl_pressed): Thanks to Alessandro Rubini for providing
  3482.     this code.
  3483.  
  3484.     * main.c (do_cd_command): We can't write past the buffer (cmd [3]
  3485.     if cmd [2] is 0).
  3486.  
  3487.     (quit_cmd): Added check for confirmation before exiting.
  3488.  
  3489.     * configure.in, util.c: The proper thing to do is to check
  3490.     for strdup here and not for ultrix.
  3491.  
  3492.     * main.c (view_other_cmd): Changed call to mi_getch for xgetch,
  3493.     since now we have a do_update call in mi_getch.
  3494.  
  3495. Wed Mar  1 20:03:17 1995  root  <root@RoDo-station>
  3496.  
  3497.     * achown.c: space now does nothing (in future maybe toggle),
  3498.     after '+', '-', '=' cursor moves to the next flag (owner)
  3499.  
  3500. Thu Feb 23 07:37:56 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
  3501.  
  3502.         * chmod.c, dir.c (stat_file, handle_dirent): Changed
  3503.         all file type tests to the S_IS* macros, because usage of the
  3504.         (x & S_IF*) == S_IF* caused misbehaviour, e.g. the block
  3505.         devices and sockets on linux were handled as directories and
  3506.         therefore sorting in the /dev directory looked a little bit
  3507.         strange.
  3508.  
  3509.         * input.c (input_set_prompt): Added a call to update_input,
  3510.         because otherwise when we changed from a longer to a shorter
  3511.         prompt, the rest of the old prompt remained on the screen.
  3512.  
  3513.         * input.c: Added KEY_HOME, KEY_A1, KEY_END and KEY_C1 as
  3514.         moving to the beginning / end of the input line. It doesn't
  3515.         do anything on the cmdline, because then we handle these
  3516.         special keys before, but of other input lines.
  3517.  
  3518.         * layout.c (init_layout, update_split, layout_callback):
  3519.         We have to initialize our internal _* variables and not
  3520.         to wait until someone presses a key / clicks mouse bottom,
  3521.         because then the first press / click has sometimes no
  3522.         result. Also I've changed Miguel's recent addition of
  3523.         redrawing numbers only if they changed, so that it works
  3524.         fine when you press C-l or check/uncheck Equal checkbox.
  3525.  
  3526.         * main.c (untouch_bar): Fixed so menu repaints fine even
  3527.         when having menubar_visible set.
  3528.  
  3529.         * main.c (init_labels): Having keybar_visible == 0 doesn't
  3530.         cause an segfault any more.
  3531.  
  3532.         * view.c (view_init, view): Setting dirty to max_dirt_limit + 1
  3533.         moved to the view_init function and should work fine (mc
  3534.         really always displays the view_win on start).
  3535.  
  3536.         * view.c (move_backward2, move_forward2): Rewritten so it
  3537.         should work well even when wrapping (e.g. before, when you were
  3538.         moving up in wrap mode, it moved sometimes several lines up,
  3539.         moving to the end didn't sometimes reach 100% etc.).
  3540.  
  3541.         * view.c (get_bottom_first): Added a new check so that the
  3542.         view's shown page always shows as many lines as possible
  3543.         (no more last one line on the screen if there are many in the
  3544.     
  3545. Thu Feb 23 12:17:39 1995  Janne Kukonlehto  (jtklehto@paju)
  3546.  
  3547.     * file.c: Oops, I forgot to include <utime.h>.
  3548.  
  3549.     * find.c (find_parameters): The previous parameters are now
  3550.     remembered. (insert_file, do_search, find_callback, start_stop,
  3551.     find_file): Cosmetic changes. (do_search): Shows the name of
  3552.     directory being scanned.
  3553.  
  3554.     * main.c (compare_files): A new function to compare two files,
  3555.     used by thorough compare. (compare_dir, compare_dirs): Now there
  3556.     two compare methods: quick compare (the old method) and thorough
  3557.     compare (byte-by-byte compare).
  3558.  
  3559.     * mc.1 (Command Menu): Documented the two compare methods.
  3560.  
  3561.     * util.c (get_full_name): Now able to handle directory names which
  3562.     end to '/' (required by find file feature).
  3563.  
  3564. Thu Feb  5 13:12:20 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
  3565.  
  3566.     * main.c (move_down,prev_page,next_page): Code changed so that
  3567.     PageDn,Up work well and do not show only some entries if there is
  3568.     a lot of them.
  3569.  
  3570. Wed Feb 22 16:18:08 1995  Janne Kukonlehto  (jtklehto@paju)
  3571.  
  3572.     * FILES: A new file to list the purpose of files included in the
  3573.     distribution. I hope wanna-be MC hackers will find it useful.
  3574.  
  3575.     * Makefile.in (DISTFILES): Added the FILES file.
  3576.  
  3577.     * file.c (copy_file_file): Code clean-up. Now preserves time
  3578.     stamps.
  3579.  
  3580.     * find.c (do_search): Optimized, now about ten times faster than
  3581.     before and only two times slower than GNU find.
  3582.  
  3583.     * panel.h, find.c, main.c, screen.c: In the Panel structure the
  3584.     dont_reload field is renamed to is_panelized.
  3585.  
  3586.     * main.c (reload_panelized): A new function to update contents of
  3587.     panelized view. (update_panels): Now calls the new
  3588.     reload_panelized function for panelized panels instead of skipping
  3589.     update. (enter): Now removes any initial and trailing whitespace
  3590.     in directory names of the cd command.
  3591.  
  3592.     * menu.c (run_menu): because F10 is a abort key nowadays there is
  3593.     no need to check for it again.
  3594.  
  3595. Tue Feb 21 17:18:09 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3596.  
  3597.     * main.c (handle_args), configure.in: Now you can specify if you
  3598.     want the subshell by default.
  3599.  
  3600. Tue Feb 21 12:51:24 1995  Sinolits Vadim V. <vvs@nsrd.npi.msu.su>
  3601.  
  3602.     * file.c (copy_file_file): Avoid copying a file to itself.
  3603.  
  3604. Tue Feb 21 12:39:06 1995  Janne Kukonlehto  (jtklehto@indy6)
  3605.  
  3606.     * find.c (find_file): Draw the nice dash when panelizing
  3607.  
  3608. Sat Feb 18 14:09:12 1995  Janne Kukonlehto  (jtklehto@indy6)
  3609.  
  3610.     * subshell.c (read_subshell_prompt): You can't use a label without
  3611.     a statement. (pty_open_slave): Irix doesn't support ioctl
  3612.     (pty_slave, I_PUSH, "ttcompat").
  3613.  
  3614.     * user.c (expand_format): Removed an extra ';'.
  3615.  
  3616. Fri Feb 17 13:56:45 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3617.  
  3618.     * main.c (change_view): Call view_done if we are switching away
  3619.     from a quick view mode.
  3620.  
  3621. Thu Feb 16 10:07:12 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
  3622.  
  3623.         * dialog.c (input_event, input_dialog): Added mouse support
  3624.         for the input dialogs' edit lines, so the cursor will move
  3625.         to the place you press mouse on. Also added F10 key as the
  3626.         abort key.
  3627.  
  3628.         * dlg.c (dialog_handle_key): Added C-c and C-g as abort
  3629.         keys for the dialog (so it behaves exactly same as the input
  3630.         dialog).
  3631.  
  3632.        * main.c (edit_cmd): Fixed a bug that caused improper screen
  3633.         redrawing if you when searching in the panel pressed F4.
  3634.  
  3635.         * widget.c (input_event, listbox_select_pos, listbox_event):
  3636.         Added full mouse functionality for the input line and listbox
  3637.         widgets.
  3638.  
  3639.         * wtools.c (create_listbox_window): Changed colors of user menu
  3640.         and history command dialogs, so they're compatible with other
  3641.         dialogs in their look and feel (I found the previous colors
  3642.         extremely ugly).
  3643.  
  3644. Fri Feb 17 13:04:44 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3645.  
  3646.     * layout.c (update_split): We don't update the split information
  3647.     if it has not changed.
  3648.  
  3649. Thu Feb 16 11:07:04 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3650.  
  3651.     * main.c: We don't support advanced chmod/chown for 2.0.
  3652.     (view_other_cmd): Added a repaint screen.
  3653.  
  3654. Thu Feb 16 16:12:04 1995  Janne Kukonlehto  (jtklehto@paju)
  3655.  
  3656.     * gindex.pl: A small typographical change in the index output.
  3657.  
  3658.     * user.c (expand_format): Removed a compilation warning.
  3659.  
  3660. Thu Feb 16 19:56:12 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
  3661.  
  3662.     * widget.c (button_event, radio_callback, radio_event, check_event,
  3663.     listbox_event): Last trial to make layout dialog box work with
  3664.     mouse. Whenever we send in these events any key to the widgets,
  3665.     we have to send then a DLG_POST_KEY message to the dialog, what
  3666.     is normally done when a real key is pressed.
  3667.  
  3668.     * layout.c (b2_left_cback, b2_right_cback): Removed ugly hack
  3669.     to update something what is not needed now cause we do it
  3670.     already in the *_event - see the above change.
  3671.  
  3672. Wed Feb 15 22:13:21 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  3673.  
  3674.     * layout.c (setup_event): Do not modify the events. Just push
  3675.     them. Since we have fixed the layout problem, this code is not
  3676.     needed anymore.
  3677.  
  3678.     * main.c (do_nc): Do not accept character -1.
  3679.  
  3680.     * input.c (insert_char): Do not accept character -1.
  3681.  
  3682.     * cons.saver.c (restore_console, save_console, detect_console):
  3683.         Changes to work with Linux >= 1.1.91.  Now they use /dev/vcsaN for
  3684.     accessing the memory associated with the virtual console N.
  3685.  
  3686. Wed Feb 15 00:46:33 1995  Dugan O. Porter  (dugan@b011.eunet.es)
  3687.  
  3688.     * main.c (do_execute): Fixed the pause_after_run so the console
  3689.     contents still get saved even if pause_after_run == pause_never.
  3690.  
  3691.     * main.h: Removed the after_run_actions enum; it is not used in
  3692.     any .c files other than main.c, and besides it is inconsistent
  3693.     with the enum given in main.c itself...
  3694.  
  3695.     * main.c, main.h (toggle_pause_after_run): Removed as obsolete.
  3696.  
  3697.     * terms.c (do_exit_ca_mode): New function; the counterpart of
  3698.     do_enter_ca_mode().  Called in main.c.
  3699.  
  3700.     * main.c (view_other_cmd): Now calls do_exit_ca_mode(), and it
  3701.     isn't disabled any more just because OTHER_CURSES is defined.
  3702.  
  3703.     [Begin Not included]
  3704.     * subshell.c (pty_open_master, SVR4 version): Temporarily ignore
  3705.     SIGCHLD while calling grantpt() (which forks a pt_chmod process.)
  3706.  
  3707.     * main.c (main): Now we always install the SIGCHLD handler here,
  3708.     regardless of whether use_subshell is set or not.
  3709.  
  3710.     * subshell.c (init_subshell): No need to mess around with SIGUSR1
  3711.     any more; we never install the SIGCHLD handler here now.
  3712.     [End Not included]
  3713.  
  3714.     * util.c (my_system): Don't die horribly if the sigaction() calls
  3715.     to ignore SIGINT and SIGQUIT fail; run the command anyway.
  3716.  
  3717.     * cons.handler.c (handle_console): Close old pipe ends during
  3718.     CONSOLE_INIT, in case it is the second time we run cons.saver.
  3719.  
  3720.     * cons.saver.c (send_contents): Removed the `lastline' variable
  3721.     and all references to it.
  3722.  
  3723. Tue Feb 14 18:16:20 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
  3724.  
  3725.        * chown.c, achown.c (init_chown, init_chown_advanced): Fixed
  3726.        a bug that caused mouse events to be shifted down, so you
  3727.        had to click 2 resp. 5 lines above the widget. winpos and the value
  3728.        of the newwin must be kept in sync.
  3729.  
  3730. Wed Feb 15 18:39:01 1995  Janne Kukonlehto  (jtklehto@paju)
  3731.  
  3732.     * file.c (panel_operate): Also a single tagged file should be left
  3733.     tagged if the operation failed.
  3734.  
  3735.     * gindex.pl: Now can handle hierarchical headings.
  3736.  
  3737.     * man2hlp.c: Better backslash quoting handling. Now can handle
  3738.     hierarchial headings. Fixed a problem with HTML links. Now can
  3739.     handle \& command in the beginning of line.
  3740.  
  3741.     * mc.1: Switched to hierarchial headings. Some reorganization.
  3742.     Documented the find file feature, the layout dialog and the file
  3743.     operations dialog.
  3744.  
  3745.     * menu.c (run_menu): The F10 key works again.
  3746.  
  3747.     * xnc.hlp (QueryBox): Small change in the wording.
  3748.  
  3749. Tue Feb 14 19:13:41 1995  Miguel de Icaza  <miguel@sphinx>
  3750.  
  3751.     * Interesting: is_idle returns 0 if we used the mouse on an xterm.
  3752.     Because the mouse up has not been handled yet.  We should take
  3753.     this into account for the future.
  3754.  
  3755.     * view.c (view): Force refresh by setting an initial value to
  3756.     dirty of max_dirt_limit + 1.
  3757.  
  3758.     * mouse.c (click): Now click returns a MOU_ENDLOOP: this gives the
  3759.     view command a chance to refresh the screen.
  3760.  
  3761.     * main.c (menu_bar_event): When executing code from the menus, end
  3762.     the mouse loop.
  3763.     (do_nc): Added a wrefresh before the mi_getch call.  This puts the
  3764.     cursor in the correct position.
  3765.     (restore_console): Restore the console properly: if using the
  3766.     subshell support, add the prompt we have loaded, since it may not
  3767.     have been printed before we got the snapshot of the screen.
  3768.  
  3769.     * layout.c (layout_cmd): Instead of changing the layout on the
  3770.     fly, let the main loop take this decision: this solves the problem
  3771.     of the unpaired frames.
  3772.  
  3773.     * main.c (init_labels): Misc changes to make the layout changing
  3774.     code to work (add test to check if fkeys is set before
  3775.     refreshing). 
  3776.  
  3777. Mon Feb 13 00:59:04 1995  Miguel de Icaza  <miguel@sphinx>
  3778.  
  3779.     * file.c (panel_operate): Now we return 0 if the panel_operate
  3780.     did not modify the fs, and 1 otherwise.
  3781.  
  3782.     * main.c (delete_cmd, copy_cmd, ren_cmd): update and repaint the
  3783.     screen only if panel_operate did something interesting on the disk.
  3784.  
  3785. Mon Feb 13 22:54:12 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
  3786.  
  3787.     * dir.c (sort_*): Changed reverse sorting so if the mix_all_files
  3788.     options is not set, directories come always before other files.
  3789.  
  3790. Tue Feb 14 02:47:59 1995  Janne Kukonlehto  <jtkl@jysky.oulu.fi>
  3791.  
  3792.     * dialog.h, wtools.c (query_dialog): Added a new flag
  3793.     WITH_HOTKEYS. Now it is possible to use hotkeys other than the
  3794.     first letters of the possible choices.
  3795.  
  3796.     * file.c: Added a new function query_recursive which asks
  3797.     confirmations for the recursive deletes. A part of its code
  3798.     originates from recursive_erase. (mask_rename): Got rid of a
  3799.     warning. (panel_operate): Code clean-up. Skipped files are no
  3800.     longer untagged. (show_bar): Should not overflow anymore.
  3801.  
  3802.     * layout.c (b2left_cback, b2right_cback, init_layout): An attempt
  3803.     to adjust panel widths now toggles the equal split off
  3804.     automatically. (remove_dash): Operates correctly even if menubar
  3805.     is visible.
  3806.  
  3807.     * man2hlp.c (handle_command): Typographic fix in the html index
  3808.         output.
  3809.  
  3810.     * screen.c (repaint_file): If the panel is split to two columns no
  3811.     longer colours the division bar when tagging files or drawing the
  3812.     selection bar. (display_mini_info): Handles singular and plural
  3813.     form of the `file' word correctly when outputting number of tagged
  3814.     files.
  3815.  
  3816.     * util.c (regexp_match): Optimized: compiles the pattern only if
  3817.     it has changed since the last time.
  3818.  
  3819.     * wtools.h: There exists no query_dialog_new function nowadays.
  3820.  
  3821. Sun Feb 12 20:31:09 1995  Miguel de Icaza  <miguel@sphinx>
  3822.  
  3823.     * main.c (do_nc, main): Reordered the push_frames and panel
  3824.     creation so that the layout stuff can remove properly all the
  3825.     mouse events when switching modes (for disabling the key bar).
  3826.  
  3827.     * win.c: misc changes to add an option to specify whenever we want
  3828.     or not a fkey.
  3829.  
  3830.     * option.c (init_configure), main.c (do_execute): Implemented the
  3831.     3-type of pause_after_run.
  3832.  
  3833.     * key.c (mouse_getch): Removed pending variable; now ESC is a
  3834.     prefix key, not a prefix and a abort key.  There is a workaround:
  3835.     you can set the old_esc_mode in the ini file.
  3836.  
  3837.     * dialog.c, file.c, menu.c, tree.c, widget.c: C-c and C-g also
  3838.     abort actions.
  3839.  
  3840.     * screen.c (parse_display_format): Fixed bug that truncated the
  3841.     user format if it had an error.
  3842.  
  3843. Sun Feb 12 12:31:15 1995  Janne Kukonlehto  (jtklehto@paju)
  3844.  
  3845.     * Makefile.in: Added regex.c to SRCS, regex.h to HDRS, regex.o to
  3846.     OBJS.
  3847.  
  3848.     * configure, configure.in: Added AC_ALLOCA check. Removed the
  3849.     search for the correct regular expression commands. The GNU regex
  3850.     library is used instead.
  3851.  
  3852.     * file.c (mask_rename): Dumped the old shell pattern parser. The
  3853.     GNU regex library is used instead.
  3854.  
  3855.     * mc.1 (File Menu, Mask Rename): Moved the description of the mask
  3856.     rename feature from the File Menu section to a new Mask Rename
  3857.     section. Documented the new support for regular expressions (shell
  3858.     patterns off).
  3859.  
  3860.     * regex.c, regex.h: New files. Copied from the GNU regex library
  3861.     version 0.12. 
  3862.  
  3863.     * util.c: Removed the #ifdef jungle to get the correct regular
  3864.     expressions code. Now uses the GNU regex library instead. Moved a
  3865.     part of the regexp function to a new convert_pattern function.
  3866.  
  3867.     * util.h: Added convert_pattern.
  3868.  
  3869.     * key.c (check_selects): Void function can't return value.
  3870.     (mouse_getch): The gpm_fd variable is not defined if the libgpm is
  3871.     not used.
  3872.  
  3873.     * user.c (expand_format): Why ';' was removed after "/* Fall
  3874.     through */"?
  3875.  
  3876.     * view.c: Renamed the quit variable to view_quit to avoid problems
  3877.     with the quit variable in the main.h.
  3878.  
  3879. Sat Feb 11 13:31:33 1995  Miguel de Icaza  <miguel@sphinx>
  3880.  
  3881.     * main.c (main): Set an initial value for the prompt, since we are
  3882.     not loading it at subshell initialization.
  3883.  
  3884.     * key.c (check_selects, add_selects, channels_up, channels_down):
  3885.     Add a way to activate and deactivate the select channel checking.
  3886.  
  3887.     * configure.in (LIBS): Removed the -ltermcap
  3888.  
  3889. Sat Feb 11 00:46:52 1995  Dugan O. Porter  (dugan@b011.eunet.es)
  3890.  
  3891.     * user.c (expand_format): Removed ';' after "/* Fall through */"
  3892.  
  3893.     * auto.c (do_exec_mount): Blocked SIGCHLD during the fork/wait,
  3894.     to avoid interference with our sigchld_handler() in main.c.
  3895.  
  3896. Fri Feb 10 12:17:37 1995  Miguel de Icaza  <miguel@sphinx>
  3897.  
  3898.     * key.c (mouse_getch): Do not use max_fd anymore, use FD_SETSIZE.
  3899.     (try_channels): New function to check the wait channels on the
  3900.     work around version of getch.
  3901.  
  3902.     * widget.c (listbox_get_current): Don't return information if the
  3903.     listbox is empty.
  3904.  
  3905.     * main.c (reread_cmd): Many changes to remove a bunch of warnings.
  3906.  
  3907.     * widget.c: Added hotkey support to radio buttons.
  3908.  
  3909. Sat Feb 11 21:56:03 1995  Jakub Jelinek   <jelinek1@jfch.vc.cvut.cz>
  3910.  
  3911.     * main.c (panel_event): fixed a bug on mouse dragging in a two
  3912.     column full sized panel, fixed proper changing of panels when
  3913.     dragging the mouse, fixed dragging when having panels split
  3914.     horizontally.
  3915.  
  3916.     * main.c (panel_event): Double clicking at the border (so not
  3917.     on any file) doesn't run the active file any more. This caused
  3918.     some unwanted actions when moving in the panel up and down.
  3919.  
  3920.     * main.c (paint_quick_view_panel): Blank Quick view panel cannot
  3921.     be active and current panel is changed automatically.
  3922.  
  3923.     * screen.c (repaint_file): When the user defined format is
  3924.     shorter than the actual panel width, there are no black gaps
  3925.     at the end any more.
  3926.  
  3927.     * screen.c, panel.h (parse_display_format): When you select
  3928.     different panel size in used defined format and in user defined
  3929.     mini-status format, the panel size of mini-status line is adapted
  3930.     to the panel size of the panel, so there are no black gaps any 
  3931.     more...
  3932.  
  3933.     * screen.c (paint_frame): Removed black gaps when titles are
  3934.     shorter and added trimming of titles if they're longer than
  3935.     the field length.
  3936.  
  3937.     * view.c (view_status): Modified for the cases when quick view
  3938.     panel width is extremely short.
  3939.  
  3940.     * view.c (view_event): Added unnecessary wrapping, 'cause panel
  3941.     event was changed.
  3942.  
  3943.     * mouse.c (mouse_handler, redo_mouse): Changed a hideous bug
  3944.     that mouse was generating unexpected event coordinates when
  3945.     auto repeating last event.
  3946.  
  3947. Thu Feb  9 13:43:42 1995  Miguel de Icaza  <miguel@sphinx>
  3948.  
  3949.     * find.c (find_file): Remove the old directory contents before
  3950.     panelizing the entries.
  3951.  
  3952.     * chown.c (chown_cmd): Fixed stupid bug.
  3953.  
  3954.     * chmod.c (chmod_cmd): Fixed stupid bug.
  3955.  
  3956.     * file.c (panel_operate), main.c (do_mark_file, select_cmd,
  3957.     unselect_cmd): Use strcmp
  3958.         (,".."), not strncmp (,"..",2)
  3959.  
  3960. Thu Feb  9 11:06:46 1995  Janne Kukonlehto  (jtklehto@paju)
  3961.  
  3962.     * chmod.c (chmod_mcd), chown.c (chown_cmd): The
  3963.     is_view_file_listing macro should take cpanel->view_type as
  3964.     parameter, not plain cpanel.
  3965.  
  3966.     * configure.in (--with-debug): Added definition of MCDEBUG (used
  3967.     by view.c).
  3968.  
  3969.     * file.c (copy_dir_dir, recursive_erase, erase_dir), main.c
  3970.     (mkdir_cmd): Replaced mkdir and rmdir with my_mkdir and my_rmdir.
  3971.  
  3972.     * find.c (find_file, do_find): Added a 'Panelize' button to put
  3973.     found files to the current directory panel (to make possible
  3974.     viewing, copying, deleting and so on). Press Ctrl-r to return to
  3975.     normal file listing after panelizing.
  3976.  
  3977.     * layout.c (destroy_panels): Oops, a pop_fkey call missing. Now
  3978.     ncurses doesn't seg-fault anymore if the MC catches WINCH signal.
  3979.     (change_screen_size): Added a noraw call.
  3980.  
  3981.     * main.c (cd_try_to_select): A new function which tries to select
  3982.     the old directory if we chdired to the parent directory.
  3983.     (parse_control_file, action, enter, maybe_cd, tree_cmd,
  3984.     quick_chdir, tree_leave): Now uses the cd_try_to_select function
  3985.     instead of try_to_select.
  3986.  
  3987.     * main.c (update_panels): Tries to avoid reloading after a
  3988.     panelize operation. (do_nc): The pop_fkey call isn't needed here
  3989.     anymore after I added it to destroy_panels.
  3990.  
  3991.     * mc.1 (Directory Tree): Cleared up the explanation of the F3
  3992.     (Forget) key. (FILES): Fixed the command to generate the .mc.tree
  3993.     file manually. The .mc.hotlist file isn't used anymore.
  3994.  
  3995.     * panel.h (Panel): Added a dont_reload flag to be used by panelize
  3996.     operation.
  3997.  
  3998.     * screen.c (do_init_panel): Now initializes the dont_reload flag.
  3999.     (panel_reload): If the current directory of the panel doesn't
  4000.     exist anymore, moves to the parent directory until a existing
  4001.     directory is found. Loads zero dir only if the root directory
  4002.     doesn't exist.
  4003.  
  4004.     * tree.c (tree_add_entry), tree.h: The tree_add_entry function is
  4005.     now global instead of static (used by the my_mkdir function).
  4006.  
  4007.     * util.c (get_full_name): Now handles root directory correctly.
  4008.     (get_absolute_name, my_mkdir, my_rmdir): New functions to replace
  4009.     mkdir and rmdir. These versions update the tree figure when
  4010.     directories are created or destroyed.
  4011.  
  4012.     * util.h: Added my_mkdir and my_rmdir.
  4013.  
  4014.     * view.c (load_byte): Tries recover from errors. Now aborts only
  4015.     if the MCDEBUG macro is defined. (view): The keybar of the
  4016.     internal viewer is now shown regardless of the value of the
  4017.     keybar_visible variable.
  4018.  
  4019. Wed Feb  8 16:41:40 1995  Miguel de Icaza  <miguel@sphinx>
  4020.  
  4021.     * dialog.c: Made refresh_list public.
  4022.  
  4023.     * subshell.c (feed_subshell): Initialize the subshell_prompt
  4024.     variable; don't read the prompt anymore, let this work to main.
  4025.  
  4026.     * util.c (strip_ctrl_codes): Don't strip codes of a null pointer.
  4027.  
  4028.     * file.c (recursive_erase): Removed extra free.
  4029.  
  4030.     * main.c (copy_tagged): Work on the panel, *not* the current
  4031.     panel.
  4032.     (load_prompt): Refresh the window.
  4033.     (main): Added the select channel function (load_prompt).
  4034.  
  4035.     * screen.c (display_mini_info): Corrected bug just introduced
  4036.     yesterday.  The format should have a minus.
  4037.  
  4038.     * file.c (erase_dir): In order to let the hot key work on
  4039.     query_dialogs, the second character must be the hotkey.
  4040.  
  4041.     * input.c (assign_text): The current_max_len is the size of the
  4042.     string *including* the terminating 0.
  4043.  
  4044. Thu Feb  9 15:44:20 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
  4045.  
  4046.     * main.c (panel_event): If mouse is pressed inside the quick
  4047.     view panel, it doesn't show garbage any more - instead mouse
  4048.     is there fully functional.
  4049.  
  4050.     * view.c (view_event, real_view_event): Full mouse support
  4051.     in both real view and quick view causes movement in all
  4052.     directions.
  4053.  
  4054. Wed Feb  8 16:40:04 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
  4055.  
  4056.     * menu.c (quit_all_event): Releasing mouse button outside of
  4057.     the menu causes the menu to hide - acts like expected from the
  4058.     pull down menu.
  4059.  
  4060.  
  4061. Wed Feb  8 10:27:14 1995  Thomas Pundt <pundtt@math.uni-muenster.de>
  4062.  
  4063.     * view.c (half_up): Added view_update: this fixes a problem with
  4064.     some versions of ncurses.
  4065.  
  4066. Tue Feb  7 16:20:33 1995  Miguel de Icaza  <miguel@sphinx>
  4067.  
  4068.     * subshell.c (read_subshell_prompt): Moved the code from
  4069.     feed_subshell here: code cleanup and reuse.
  4070.  
  4071.     made public the subshell_pty variable to let the main program use
  4072.     hooks. 
  4073.  
  4074.     * main.c: Disable advanced chown for release 2.0.
  4075.     (change_view): Call switch_to_info instead of info_cmd.
  4076.  
  4077.     * find.c (find_parameters): Starting directory is current dir, as
  4078.     Dugan suggested in the list.
  4079.  
  4080.     * chmod.c (chmod_cmd): Shouldn't operate in modes different than a
  4081.     file listing.
  4082.  
  4083.     * chown.c (chown_cmd): Shouldn't operate in modes different than a
  4084.     file listing.
  4085.  
  4086.     * key.c (delete_select_channel, add_select_channel, check_selects,
  4087.     add_selects): New function to add select channels to the program.
  4088.  
  4089.     * file.c (panel_operate): Fixed bug: the confirmation prompt
  4090.     should be computed for marked files > 1. 
  4091.  
  4092. Wed Feb  8 02:23:52 1995  Dugan O. Porter  (dugan@b011.eunet.es)
  4093.  
  4094.     * dir.c (do_reload_dir): New variable `tmp_len' used for an
  4095.     optimization of the directory-rescanning code, which is now
  4096.     about 30% faster  :-)
  4097.  
  4098.     * subshell.c: Made zsh work properly as a subshell of MC, and
  4099.     fixed up the subshell-type handling generally.
  4100.  
  4101. Mon Feb  6 17:49:36 1995  Janne Kukonlehto  (jtklehto@paju)
  4102.  
  4103.     * boxes.c (displays): The button names are now easier to
  4104.     understand.
  4105.  
  4106.     * dir.c (do_load_dir, do_reload_dir), file.c (create_op_win,
  4107.     destroy_op_win), util.h, win.c: The create_dash and destroy_dash
  4108.     functions have been deleted.
  4109.  
  4110.     * layout.c (_check_split, layout_callback): Fixed two silly bugs
  4111.     in panel size limit checking. (create_panels, destroy_panels): The
  4112.     window for the rotating dash is created and destroyed here now.
  4113.  
  4114.     * win.c, layout.c, util.h: The rotate_dash function has been moved
  4115.     from the win.c file to the layout.c file. A new remove_dash
  4116.     function to remove dash when not needed anymore.
  4117.  
  4118.     * main.c (update_panels): Ctrl-r works in the tree view again.
  4119.  
  4120.     * main.c (change_panel): Can't change to quick view panel if the
  4121.     current file is a directory. (enter): Doesn't execute the command
  4122.     on the command line if there isn't a command line. Fixed the macro
  4123.     expansion bug (I hope). (view_cmd): Repaint the quick view panel
  4124.     after exiting from the real view. (copy_current_pathname,
  4125.     copy_other_pathname, copy_prog_name, copy_other_prog_name,
  4126.     copy_tagged): Don't put stuff on the command line if there is no
  4127.     command line. (do_nc): Remove the rotating dash on the each
  4128.     iteration of the main input loop.
  4129.  
  4130.     * mc.1 (Macro Substitution), user.c (expand_format): Implemented
  4131.     the %s macro.
  4132.  
  4133. Sun Feb  5 15:12:45 1995  Miguel de Icaza  <miguel@sphinx>
  4134.  
  4135.     * main.c (menu_mouse_cmd, menu_cmd, menu_last_selected_cmd,
  4136.     menu_display_cmd): Changes to allow the user to open the menu
  4137.     place where he clicked the mouse.
  4138.  
  4139.     * util.c (my_statfs): Changes to let the code compile even if we
  4140.     don't have mount information.
  4141.  
  4142.     * main.c (do_link): Changed the order for symlinking
  4143.  
  4144. Fri Feb  3 16:26:39 1995  Miguel de Icaza  <miguel@sphinx>
  4145.  
  4146.     * view.c (do_view_init): Removed hex_mode initialization.
  4147.  
  4148.     * win.c (create_dash): We don't want to keep the cursor in the
  4149.     corner. 
  4150.  
  4151.     * view.c (toggle_wrap_mode): If we toggle the wrap mode, we have
  4152.     to set the starting column to 0.
  4153.  
  4154.     * dir.c (do_reload_dir, do_load_dir): Do not rotate that often.
  4155.  
  4156.     * file.c (check_buttons): Use again xgetch instead of mouse_getch.
  4157.  
  4158.     * configure.in (LIBS): Fixed the problem of the configure
  4159.     program. 
  4160.  
  4161.  
  4162. Fri Feb  3 17:09:04 1995  Janne Kukonlehto  (jtklehto@paju)
  4163.  
  4164.         * configure: A temporary fix to get it work. Someone should take a
  4165.     closer look at this and fix it from the configure.in, too.
  4166.  
  4167.     * cons.saver.c: Replaced an ugly hack with a less ugly hack.
  4168.  
  4169.     * dir.c (do_load_dir, do_reload_dir), file.c (check_buttons,
  4170.     create_op_win, destroy_op_win): Uses new rotating dash feature.
  4171.  
  4172.     * file.c (do_file_error, query_replace): The file operation main
  4173.     window is no longer refreshed if the user selected abort.
  4174.     (copy_dir_dir, recursive_erase): The abort feature should work
  4175.     better now.
  4176.  
  4177.     * key.c (mouse_getch): Now works without libgpm again.
  4178.  
  4179.     * main.h: The quit variable is volatile nowadays.
  4180.  
  4181.     * win.c, util.h (create_dash, destroy_dash, rotate_dash): New
  4182.     functions to show rotating dash during long operations.
  4183.  
  4184. Thu Feb  2 15:18:10 1995  Dugan O. Porter  (dugan@b011.eunet.es)
  4185.  
  4186.     * main.c: const-ified the status_using_* variables, to help with
  4187.     compile-time optimisation.  Not that these variables are exactly
  4188.     "heavily used" or anything...  ;-)
  4189.  
  4190.     (main): Moved the "handle_console (CONSOLE_INIT)" call before
  4191.     the init_sigchld(), so the waitpid()s in cons.handler.c don't
  4192.     interfere with our SIGCHLD handler.
  4193.  
  4194.     (view_other_cmd): Made it switch to the subshell (if enabled)
  4195.     regardless of whether screen dumps are possible or not.
  4196.  
  4197. Fri Feb  3 17:09:04 1995  Janne Kukonlehto  (jtklehto@paju)
  4198.  
  4199.         * configure: A temporary fix to get it work. Someone should take a
  4200.     closer look at this and fix it from the configure.in, too.
  4201.  
  4202.     * cons.saver.c: Replaced an ugly hack with a less ugly hack.
  4203.  
  4204.     * dir.c (do_load_dir, do_reload_dir), file.c (check_buttons,
  4205.     create_op_win, destroy_op_win): Uses new rotating dash feature.
  4206.  
  4207.     * file.c (do_file_error, query_replace): The file operation main
  4208.     window is no longer refreshed if the user selected abort.
  4209.     (copy_dir_dir, recursive_erase): The abort feature should work
  4210.     better now.
  4211.  
  4212.     * key.c (mouse_getch): Now works without libgpm again.
  4213.  
  4214.     * main.h: The quit variable is volatile nowadays.
  4215.  
  4216.     * win.c, util.h (create_dash, destroy_dash, rotate_dash): New
  4217.     functions to show rotating dash during long operations.
  4218.  
  4219. Thu Feb  2 13:33:40 1995  Miguel de Icaza  <miguel@sphinx>
  4220.  
  4221.     * key.c (mi_getch): Cleanup.  If we don't HAVE_LIBGPM, set
  4222.     gpm_flag to 0 in a define.
  4223.  
  4224.     * help.c (show): Since now we are not using a derived window, we
  4225.     have to check when we go out of place.
  4226.  
  4227. Tue Jan 31 16:30:23 1995  Janne Kukonlehto  (jtklehto@paju)
  4228.  
  4229.     * file.c (erase_dir): Check for FILE_ABORT.
  4230.  
  4231.     * main.c (enter): Fixed the command line problem.
  4232.  
  4233. Fri Feb  3 19:01:48 1995  Midnight commander developing  <rodo@earn>
  4234.  
  4235.     * achown.c: reworked, not working yet
  4236.  
  4237. Fri Feb  3 10:48:43 1995  Midnight commander developing  <rodo@earn>
  4238.  
  4239.     * chown.c: cosmetic changes - now it doesn't waste so much
  4240.     space :-)
  4241.  
  4242. Wed Feb  1 17:33:16 1995  Miguel de Icaza  <miguel@sphinx>
  4243.  
  4244.     * dlg.c (dlg_new): Changed: relative to frame set to 0, maybe this
  4245.     should be a parameter to dlg_new, we want a child window or not.
  4246.     This actually fixes the mouse disabled problem on the new file
  4247.     command windows.
  4248.  
  4249.     * subshell.c: Added use_subshell = 0 when no subshell support is
  4250.     present and removed it from subshell.h.  This is needed.  We
  4251.     can't use a const in a header file.
  4252.  
  4253.     * main.c (reread_cmd, update_panels): Update only the current
  4254.     panel (new flag: UP_ONLY_CURRENT).
  4255.  
  4256.     * layout.c (layout_callback): Fixed the bug I introduced
  4257.     previously on displaying the _output_lines variable.
  4258.  
  4259.     * main.c (done_panels): Free user_mini_status in both panels.
  4260.  
  4261.     * dir.c (alloc_dir_copy): Set initial values to dir_copy.list so
  4262.     that we only free those values that were actually allocated.
  4263.     Also, now we free those values that were allocated.
  4264.  
  4265. Wed Feb  1 22:03:41 1995  Dugan O. Porter  (dugan@b011.eunet.es)
  4266.  
  4267.         * subshell.c: Implemented the QUIETLY/VISIBLY argument to
  4268.         invoke_subshell.  Made yet another fix for System V (synchronizing
  4269.         with the child process once the latter has opened the slave pty
  4270.         successfully).  Removed all old references to mc_ctty.  Changed
  4271.         pty_open_slave to be more specific about problems encountered.
  4272.         Plus a few minor fixes and cleanups.
  4273.  
  4274.         * screen.c (string_file_type): Added (provisional) type codes for
  4275.         named pipes and block and character special files.
  4276.  
  4277.         * cons.saver.h, cons.saver.c, cons.handler.c: Changes so that
  4278.         show_console_contents can return a range of lines anywhere on the
  4279.         screen, not just at the bottom.  This is used by the subshell
  4280.         support, and will hopefully be useful later in other ways.
  4281.  
  4282.         * main.c: Made `quit' volatile because it can be changed by the
  4283.         SIGCHLD handler in subshell.c.  Call show_console_contents and
  4284.         invoke_subshell with the new arguments.  Trivial fixes.
  4285.  
  4286.         * layout.c (create_panels): Call show_console_contents with the
  4287.         new arguments.
  4288.  
  4289. Sun Jan 29 03:01:31 1995  Dugan O. Porter  (dugan@b011.eunet.es)
  4290.  
  4291.         * subshell.c (init_subshell): Removed the MCBASH variable feature
  4292.         as pointless; we always want to run with the usual bash now.
  4293.  
  4294. Wed Feb  1 16:30:17 1995  Miguel de Icaza  <miguel@sphinx>
  4295.  
  4296.     * file.c (panel_operate): Free `temp' variable if it has been
  4297.     used. 
  4298.     (mask_rename): Added missing return types (return FILE_ABORT on
  4299.     the first two returns).
  4300.  
  4301. Wed Feb  1 02:01:45 1995  Dugan O. Porter  (dugan@b011.eunet.es)
  4302.  
  4303.     * subshell.c: Use the screen size calculated by ncurses rather
  4304.     than trying to calculate it again.  Also, removed a duplicated
  4305.     "#include <sys/ioctl.h>".
  4306.  
  4307.     * main.c (main): Moved the call to init_curses after the one to
  4308.     init_subshell.  (init_subshell needs the terminal to be in its
  4309.     original mode, and init_curses puts it in raw mode.)  But we still
  4310.     need `initscr' to be called before init_subshell, so I removed
  4311.     initscr from init_curses and call it just before init_subshell.
  4312.     Extremely ugly, I know; sorry.  Do it better if you like...
  4313.  
  4314.     * layout.c (init_curses): Removed the initscr() call (see above).
  4315.  
  4316.     (change_screen_size): Call initscr() just before init_curses().
  4317.     Call resize_subshell() (see below).
  4318.  
  4319.     * subshell.c (resize_subshell): New function which resizes the
  4320.     subshell's pseudo-tty according to the values of the ncurses
  4321.     variables LINES and COLS.
  4322.  
  4323. Tue Jan 31 16:30:23 1995  Janne Kukonlehto  (jtklehto@paju)
  4324.  
  4325.     * Makefile.in, file.c, newfile.c: The old `file.c' file removed and
  4326.     the new `newfile.c' file renamed to `file.c'.
  4327.  
  4328.     * TODO, mc.1: Fixed my email address.
  4329.  
  4330.     * file.c (previously known as newfile.c): A lot of changes and
  4331.     fixes in all the functions.
  4332.  
  4333.     * file.h: Added two enumerations, create_op_win, destroy_op_win,
  4334.     refresh_op_win, mask_rename and panel_operate. Removed
  4335.     copy_file_dir, erase_file, recursive_erase, move_file,
  4336.     move_file_dir and new_file_ops.
  4337.  
  4338.     * main.c (enter): The command line supports the user menu macros
  4339.     now. This makes possible to execute the same command line to
  4340.     multiple sets of files (by tagging the files and getting the line
  4341.     from the history with M-p and M-n).
  4342.  
  4343.     * main.c (unmark_file): Now works in the tree view mode.
  4344.     (ok_to_copy, ok_to_copy_all): Not needed anymore. (copy_cmd,
  4345.     ren_cmd, delete_cmd): Now use the new file operations
  4346.     code. (do_mask_ren_cmd): Moved to file.c and renamed to
  4347.     mask_rename. (mask_ren_cmd): Now calls the mask_rename function.
  4348.     (new_file_ops_cmd, CmdMenu): The new_file_ops_cmd function is not
  4349.     need anymore.
  4350.  
  4351.     * tree.c (tree_copy, tree_move, rmdir_cmd): Now use the new file
  4352.     operations code.
  4353.  
  4354.     * util.c (get_full_name): Now strips the old path out of the
  4355.     filename.
  4356.  
  4357. Mon Jan 30 16:53:26 1995  Miguel de Icaza  <miguel@sphinx>
  4358.  
  4359.     * main.c (main): sigchld_hanlder was only defined with subshell
  4360.     support.
  4361.  
  4362.     * configure.in (AC_NCURSES): This replaces the try_ncurses
  4363.     function, since some shells (Ultrix /bin/sh for example) don't
  4364.     understand function definitions.
  4365.  
  4366.     * main.c (do_nc): Setup must be saved before the destruction of
  4367.     the panels takes place.
  4368.  
  4369.     * profile.c (profile_clean_section): Fixed a bug that prevented
  4370.     the the last item in the section list to be saved.
  4371.  
  4372.     * setup.c: Added inode sort option
  4373.  
  4374.     * dir.c: Added inode sort option.
  4375.  
  4376.     * screen.c (string_inode): Added inode display.
  4377.  
  4378. Mon Jan 30 14:37:30 1995  Janne Kukonlehto  (jtklehto@paju)
  4379.  
  4380.     * Makefile.in: Added newfile.c, fsusage.c and mountlist.c to SRCS.
  4381.     Added fsusage.h and mountlist.h to HDRS. Added newfile.o,
  4382.     fsusage.o and mountlist.o to OBJS. (mc.hlp, ync.hlp, mc.html):
  4383.     Added some missing $(srcdir)s.
  4384.  
  4385.     * configure.in, configure: Added a lot of tests from the GNU
  4386.     fileutils (needed by fsusage.c and mountlist.c). 
  4387.  
  4388.     * file.h: Added the prototype for the new_file_ops function.
  4389.  
  4390.     * fsusage.c, fsusage.h: New files to get the filesystem space
  4391.     usage. Copied from the GNU fileutils. Needed by the my_statfs
  4392.     function.
  4393.  
  4394.     * mountlist.c, mountlist.h: New files to get the list of mounted
  4395.     filesystems. Copied from the GNU fileutils. Needed by the
  4396.     my_statfs function.
  4397.  
  4398.     * main.c (parse_control_file): Now handles directories correctly
  4399.     when tagging or untagging. (unmark_file): Now global instead of
  4400.     static (needed by the new_file_ops function). (new_file_ops_cmd):
  4401.     New function to wrap calls to the new_file_ops function.
  4402.     (CmdMenu): Add the "New file operations" entry to the bottom of
  4403.     this menu.
  4404.  
  4405.     * main.c (paint_info_panel): Got rid of "#ifdef HAVE_STATFS". The
  4406.     my_statfs function uses GNU code now and it should work on all
  4407.     machines. The Linux and Ultrix filesystem type switch clauses
  4408.     aren't needed anymore (GNU code does a better job). (main): Added a
  4409.     call to the init_my_statfs function to initialize the list of the
  4410.     mounted filesystems.
  4411.  
  4412.     * menu.c (menu_handler, run_menu): The menu is now removed after
  4413.     the user has made his/her choice.
  4414.  
  4415.     * newfile.c: New file which will replace the file.c file in the
  4416.     future. Implements the new file operations.
  4417.  
  4418.     * util.c, util.h: Removed the stuff to define the WE_HAVE_STATFS
  4419.     macro. Removed the find_mountpoint and find_device functions.
  4420.     (init_my_statfs): A new function to read the list of mounted
  4421.     filesystems for the my_statfs function. (my_statfs): Dumped the
  4422.     old code. Now uses the mountlist read by the init_my_statfs
  4423.     function and the get_fs_usage function from the fsusage.c.
  4424.     Therefore it should work correctly on all machines now.
  4425.  
  4426. Sun Jan 29 15:35:34 1995  Miguel de Icaza  <miguel@sphinx>
  4427.  
  4428.     * main.c (init_sigchld): Use the main program sigchld handler when
  4429.     no subshell support is requested.
  4430.  
  4431.     * ncurses.h, configure.in: Changes to detect ncurses 1.8.6 and
  4432.     newers. 
  4433.  
  4434.     * main.c (main): Moved the initialization code so that Dugan can
  4435.     do the rest.
  4436.  
  4437. Sat Jan 28 13:30:40 1995  Miguel de Icaza  <miguel@sphinx>
  4438.  
  4439.     * main.c (history_cmd): Free the listbox.
  4440.  
  4441.     * chmod.c (chmod_toggle_select): Use the normal color.
  4442.  
  4443.     * input.c (assign_text): The current max lenght of the string is
  4444.     exactly the string lenght, not +1.
  4445.  
  4446.     * main.c (history_cmd): Removed the hot key on the listbox window.
  4447.  
  4448.     * configure.in (XCURSES): Added --with-sunos-curses
  4449.  
  4450.     * ncurses.h: Updated the file to run with SunOS 4.x curses
  4451.  
  4452.     * layout.c (init_layout): Changes to include the mini status field.
  4453.  
  4454.     * option.c: Removed the show mini status option from the config
  4455.     dialog and added the drop down menus instead.
  4456.  
  4457.     * util.c (my_system): Removed the prepare_environement routines
  4458.     since it didn't work with the subshell.
  4459.  
  4460.     * main.c (do_nc): Removed the LINES checking, this must be done by
  4461.     ncurses. 
  4462.  
  4463. Fri Jan 27 13:49:57 1995  Miguel de Icaza  <miguel@sphinx>
  4464.  
  4465.     * main.c (tree_view_cmd): Added missing call to clean_dir.
  4466.  
  4467.     * dir.c (clean_dir): Sanity check.
  4468.  
  4469.     * main.c (change_panel): Added extra check to avoid showing a non
  4470.     existant entry if the view type is view_tree.
  4471.  
  4472.     * subshell.c (init_subshell): Get and set the window size only if
  4473.     the operating system has support for it.
  4474.  
  4475.     The Solaris Fix for subshell:
  4476.  
  4477.     (sigchld_handler): 
  4478.     Remove the loop around the pid = waitpid.  
  4479.     Add the WNOHANG option to the waitpid.
  4480.     Remove the abortion code if pid <= 0.
  4481.  
  4482.     (init_subshell): On Solaris, if you close the master pty on the
  4483.     child, it also closes the slave side, so I removed the close
  4484.     (subshell_pty).  I leaved nice comments in case we want to undo
  4485.     this behavior.
  4486.  
  4487.     End of The Solaris Fix.
  4488.  
  4489.     (get_window_size): Grabbed some code from GNU's shellutils.  We
  4490.     try first with stdout, then stdin, and finally with a user
  4491.     provided file descriptor (in this case, ctermid (0)).
  4492.  
  4493.     (init_subshell): Set the window size only if we could get the
  4494.     window size.
  4495.  
  4496.     * view.c (move_left, move_right): Even if wrap mode is set, we
  4497.     have to tell the upper layers that the key was handled.
  4498.  
  4499.     * main.c (paint_quick_view_panel): Replaced long condition for
  4500.     is_view_file_listing.
  4501.  
  4502. Fri Jan 27 13:40:07 1995  Thomas Pundt (pundtt@math.uni-muenster.de)
  4503.  
  4504.     * main.c (paint_quick_view_panel): "fkeys" and "view_win" are not
  4505.     initialized, if QuickView is activated and other_panel has not
  4506.     selected a regular file. This causes mc to segfault, if you press
  4507.     F4, before a file is selected.  Added calls to view_init_windows
  4508.     (panel->win_file, fkeys).
  4509.  
  4510.     * view.c (load_view_file): Added missing strdups of string
  4511.     constants. 
  4512.  
  4513.     * view.c (do_view_init): If we are displaying an error message in
  4514.     the quick view panel, we also need to initialize the bytes_read
  4515.     variable, not only the s.st_size field.
  4516.  
  4517.     * view.c (view_init_windows): New function to setup the view_win
  4518.     and fkeys variables, called from main for the quick view stuff.
  4519.  
  4520.     * view.c (view_status): If filename is not set, then avoid the
  4521.     crash by printw "".
  4522.  
  4523. Fri Jan 27 16:43:38 1995  Dugan O. Porter  (dugan@b011.eunet.es)
  4524.  
  4525.         * main.c (sigchld_handler): Several corrections.  Fixed stupid
  4526.         mental typo of writing "handle_console" instead of "console_flag".
  4527.  
  4528.         * screen.c (parse_display_format): There was a division by the
  4529.         variable `field' which looped from 0 to (fields-1), provoking
  4530.         an FPE on the first iteration.  Replaced `field' by `fields',
  4531.         which I think is what was intended.
  4532.  
  4533. Fri Jan 27 15:21:09 1995  Janne Kukonlehto  (jtklehto@paju)
  4534.  
  4535.     * cons.handler.c (show_console_contents): Oops, I forgot to clear
  4536.     the window.
  4537.  
  4538.     * layout.c (layout_callback, create_panels): Now there are minimum
  4539.     and maximum limit for the number of output lines.
  4540.  
  4541.     * main.c (sigchld_handler): Fixed a silly bug.
  4542.  
  4543. Thu Jan 26 12:37:40 1995  Miguel de Icaza  <miguel@sphinx>
  4544.  
  4545.     * subshell.c: include sys/ioctl.h on 4.3 BSD systems for the
  4546.         TIOCGWINSZ constant.
  4547.  
  4548.     * main.c (ok_to_copy_all): Set the abort flag before returning.  I
  4549.     wonder how I could put the return before the assignment?
  4550.  
  4551.     * menu.c (query_dialog): We don't use menu's query_dialog anymore,
  4552.     now the query_dialog routine is the one written by Radek found in
  4553.     the wtools.c file.
  4554.  
  4555.     (run_bar): We don't use derwin any longer, we now require the
  4556.     parent to provide a suitable window to draw on.  Since this
  4557.     routine is only used by the main program menu, I wonder if we
  4558.     should just simple create this window here.
  4559.  
  4560.     * wtools.c (query_dialog): Compute correctly the number of columns
  4561.     needed for the query box.
  4562.  
  4563.     * main.c (menu_display_cmd): Create the window to be used in run
  4564.     bar.
  4565.  
  4566.     * dialog.c, dialog.h (create_dialog): Now dialogs only use one
  4567.     window, we don't use anymore the derwin call.  Getting rid of the
  4568.     derwin call will let us run with BSD curses (I hope).
  4569.  
  4570.     (input_dialog): Adjust the area of display to conform to the new
  4571.     changes. 
  4572.  
  4573.     (create_dialog): Adjust my_wputs.
  4574.  
  4575.     * tree.c (show_tree): Adjust the display routines.
  4576.  
  4577.     * help.c (show): Adjust the display routines.
  4578.  
  4579.     * configure.in: Renamed --with-aixcc option to --with-mmap. 
  4580.  
  4581.     * main.c (untouch_bar): Call only_refresh_screen.
  4582.     
  4583.     (only_refresh_screen): Now takes a boolean to determine if the
  4584.     panels are being refreshed.
  4585.  
  4586.     * help.c (interactive_display): Added missing call to
  4587.     clear_link_areas. 
  4588.  
  4589.     * layout.c (destroy_panels): Changed pop events for pop_frame.
  4590.  
  4591. Thu Jan 26 12:56:04 1995  Dugan O. Porter  (dugan@b011.eunet.es)
  4592.  
  4593.         * cons.handler.h: New file, to allow cons.handler.c to export
  4594.         the `cons_saver_pid' variable (which used to be called `child')
  4595.  
  4596.         * cons.handler.c, cons.saver.c, cons.saver.h: Changed type of
  4597.         console_flag from 'int' to 'signed char', so that the various
  4598.         write (cmd_output, &console_flag, 1) calls will work even on the
  4599.         big-endian machines to which Linux will one day be ported  ;-)
  4600.  
  4601.         * vfs.h: Added 'const' to prototypes where appropriate.
  4602.  
  4603.         * main.c (version): Polished the version message slightly.
  4604.         Corrected the new sigchld_handler function a little.
  4605.  
  4606.         * subshell.c: Improved the sigchld_handler function.
  4607.  
  4608. Thu Jan 26 14:36:54 1995  Janne Kukonlehto  (jtklehto@paju)
  4609.  
  4610.     * Makefile.in: cons.saver depends on cons.saver.o.
  4611.  
  4612.     * boxes.c (display_callback): The 'm' key no longer jumps to user
  4613.     mini status input field.
  4614.  
  4615.     * cons.handler.c (show_console_contents): New function to show
  4616.     output with the help of cons.saver.
  4617.  
  4618.     * cons.saver.c (send_contents): New function to send the contents
  4619.     of the console screen to the parent process.
  4620.  
  4621.     * cons.saver.h: A new message CONSOLE_CONTENTS to request the
  4622.     contents of console screen. Added prototype for show_console_contents.
  4623.  
  4624.     * dlg.c (destroy_dlg): I finally fixed the mystic bug. The
  4625.     destroy_dlg function was starting the loop from the second item
  4626.     instead of the first item.
  4627.  
  4628.     * layout.c (bplus_cback *new*, bminus_cback *new*,
  4629.     layout_callback, init_layout, layout_cmd, create_panels,
  4630.     destroy_panels), layout.h, main.c (do_execute, repaint_screen,
  4631.     only_refresh_screen, refresh_screen), setup.c (layout): Now
  4632.     supports defining a output window. You need the new cons.saver for
  4633.     this (remember to type "make install.saver").
  4634.  
  4635.     * layout.c (init_curses *new*, create_panels, destroy_panels,
  4636.     change_screen_size), layout.h, main.c (main): Workarounds for
  4637.     ncurses bugs. The initscr function is called only when really needed.
  4638.  
  4639.     * main.c (select_item), screen.c (init_panel): Small bug fix
  4640.     related to the long view.
  4641.  
  4642.     * main.c (switch_to_info): No longer rejects second switch to the
  4643.     info mode (needed by layout stuff).
  4644.  
  4645.     * option.c (check_options): Removed the hotkey of the advanced
  4646.     chown toggle.
  4647.  
  4648.     * util.c (my_putenv): Removed the free command and added some
  4649.     warnings to prevent others from adding it back (sorry Miguel).
  4650.  
  4651. Wed Jan 25 13:05:59 1995  Miguel de Icaza  <miguel@sphinx>
  4652.  
  4653.     * main.c (goto_bottom_file, goto_top_file, goto_middle_file,
  4654.     mark_file, copy_other_pathname,  copy_prog_name,
  4655.     copy_other_prog_name): Added checks so that they don't work when
  4656.     quick or info modes are selected.
  4657.  
  4658.     (try_to_select): Changed call to SELECT_ITEM for a call to
  4659.     select_item, this should keep the info and quick view modes in
  4660.     sync.  If the users experiment a terrible slow down, then this
  4661.     must be the reason.
  4662.  
  4663.     * view.c (check_left_right_keys): Only allow horizontal scrolling
  4664.     if the wrap mode is not toggled on.
  4665.  
  4666.     (do_view_init): Now, the error message from loading a file is
  4667.     displayed here.  It is only displayed in a message box if we are
  4668.     the real view and not the quick one.
  4669.  
  4670.     (load_view_file): Now we guarantee that data has always data.
  4671.     Thus on quick view, the keys will actually be checked correctly,
  4672.     and the only information displayed on the quick view panel will be
  4673.     the error message.
  4674.  
  4675.     (load_view_file): Added missing close.
  4676.  
  4677.     (view_update, move_forward2, move_backward2, move_to_top,
  4678.     move_to_bottom, move_right, move_left, goto_line, regexp_search,
  4679.     normal_search): if there is no data loaded, don't do anything
  4680.  
  4681. Wed Jan 25 18:22:09 1995  Janne Kukonlehto  (jtklehto@paju)
  4682.  
  4683.     * boxes.c: display_callback, display_init, display_box), panel.h,
  4684.     screen.c (repaint_file, display_mini_info, do_init_panel), setup.c
  4685.     (panel_save, panel_load): Now it is possible to define user format
  4686.     for the mini status line, too.
  4687.  
  4688.     * dlg.c (destroy_dlg): Another workaround for the mystic bug to
  4689.     get the Electric Fence working. I hope someone fixes this bug soon.
  4690.  
  4691.     * file.c (move_file, move_dir_dir): Now show a message box so that
  4692.     the user knows we are moving files. The move_dir_dir is now more
  4693.     bullet proof.
  4694.  
  4695.     * layout.c: Replaced hardcoded values 20 and 5 with MINWIDTH and
  4696.     MINHEIGHT. MINWIDTH is now 10 instead of 20.
  4697.  
  4698.     * setup.c (save_setup): Swapped save_configure with save_layout.
  4699.     Let's see if this it has any effect.
  4700.  
  4701.     * view.c (free_file): Uses different method for checking errors.
  4702.     No broken pipes anymore. (load_view_file): Oops, the s.st_size was
  4703.     not initialized in case of compressed files.
  4704.  
  4705.     * view.c (load_view_file, view_labels, change_viewer *new*,
  4706.     create_windows): New Raw/Gunzip button: now the compressed files
  4707.     can be viewed both as raw data and as uncompressed data.
  4708.  
  4709.     * zip.c (get_small_endian_long): Now handles eof correctly.
  4710.     (is_gunzipable): Now reports only deflated or stored zip files as
  4711.     gunzipable.
  4712.  
  4713. Tue Jan 24 16:34:13 1995  Miguel de Icaza  <miguel@sphinx>
  4714.  
  4715.     * layout.c (create_panels): Push a missing frame.
  4716.  
  4717.     * main.c (main): Remove unused events at program end.
  4718.  
  4719.     * util.c (my_putenv): Release the unused memory.
  4720.  
  4721.     * main.c (do_possible_cd): Now it paints the panel as all the
  4722.     other cd routines and selects the item.
  4723.  
  4724.     (maybe_cd): if it's the left key, then go up one directory.
  4725.  
  4726. Tue Jan 24 12:32:14 1995  Dugan O. Porter  (dugan@b011.eunet.es)
  4727.  
  4728.         * file.c (erase_dir): Slight changes to the confirmation box for
  4729.         recursively deleting directories.
  4730.  
  4731.         * main.c (main): Removed a repeated initialization of home_dir.
  4732.  
  4733. Mon Jan 23 14:45:34 1995  Dugan O. Porter  (dugan@b011.eunet.es)
  4734.  
  4735.         * subshell.c (init_subshell): Removed the `shell_name' variable
  4736.         and all references to it, and used `shell' from main.c instead.
  4737.  
  4738.         (init_subshell): Now we install the SIGCHLD handler here and
  4739.         leave it active all the time until MC exits, instead of enabling
  4740.     it only during execution of the subshell functions.  This seems
  4741.         to make MC hang less frequently, but unfortunately it will still
  4742.         hang if you try hard enough (by holding down C-o a lot).
  4743.  
  4744. Sun Jan 22 20:48:57 1995  Dugan O. Porter  (dugan@b011.eunet.es)
  4745.  
  4746.         * main.c (main): Warn user if we can't start up the subshell.
  4747.         Also, tentatively added putchar ('\r') at the end of main(),
  4748.         to make the user's shell write its prompt starting in column 0
  4749.         after MC has terminated.
  4750.  
  4751.         * subshell.c (sigchld_handler): Moved the message about using
  4752.         the old command execution method from here to main().
  4753.  
  4754. Tue Jan 24 12:25:44 1995  Thomas Pundt <pundtt@math.uni-muenster.de>
  4755.  
  4756.     * view.c (create_windows): Moved the push_frame from: before the
  4757.     push_events to just after the wattron. The problem is, that not
  4758.     all mouse events are popped off the stack, because the new frame
  4759.     is set up too late.
  4760.  
  4761. Tue Jan 24 11:35:01 1995  Janne Kukonlehto  (jtklehto@paju)
  4762.  
  4763.     * file.c (copy_file_file): Now copies symbolic links correctly (as
  4764.     defined by Dugan). (move_file): Dumped the code based on a system
  4765.     call and copied the code from mv.c in GNU fileutils-3.12.
  4766.     (move_file_dir): Dumped the old version and copied the code from
  4767.     copy_file_dir.
  4768.  
  4769.     * main.c: The init_entry function removed. (parse_control_file,
  4770.     action, enter, tree_leave): Small changes in the handling of cd
  4771.     command. (ok_to_copy): Now pressing ESC or F10 works
  4772.     correctly. (swap_cmd): Windows are moved instead of swapping. Now
  4773.     compatible with layout feature. (paint_info_panel): The code has
  4774.     been turned upside-down to support leaving out the lines which
  4775.     don't fit.
  4776.  
  4777.     * panel.h: The win_mini field wasn't used for anything.
  4778.  
  4779.     * view.c (do_view_init, view): The initialization of the start_col
  4780.     variable belongs to the do_view_init function. (display,
  4781.     move_right, move_left): Small fixes to the left/right movement.
  4782.     (view): Added a workaround for a NCurses bug.
  4783.  
  4784. Mon Jan 23 19:00:15 1995  Miguel de Icaza  <miguel@sphinx>
  4785.  
  4786.     * mouse.c (mouse_push_event): Now, we return the event pointer,
  4787.     needed for changing the event parameters of the panels on a
  4788.     resize.
  4789.  
  4790. Mon Jan 23 15:43:49 1995  Janne Kukonlehto  (jtklehto@paju)
  4791.  
  4792.     * dialog.c (input_dialog): The in variable was used after it was
  4793.     destroyed.
  4794.  
  4795.     * dlg.c (destroy_dlg): Added a workaround for the widget list bug.
  4796.     This is just a temporary fix. Let's hope the bug gets really fixed
  4797.     someday.
  4798.  
  4799.     * layout.c (create_panels, destroy_panels): Now create and destroy
  4800.     all the curses windows of the main screen. (flag_winch,
  4801.     change_screen_size): Now they work correctly.
  4802.  
  4803.     * main.c: The current_panel, other_panel, menubar_win,
  4804.     cmdline_win, fkeys and clean_screen variables are initialized to
  4805.     NULL in order to help catching the bugs. The cmdline, prompt and
  4806.     clean_screen variables are now global. The contents of init_entry
  4807.     function are moved to the create_panels function (maybe the whole
  4808.     function can now be removed). Part of the init_menu function moved
  4809.     to create_panels function. The init_labels function calls now the
  4810.     change_labels function. (do_nc, main): Some reorganization to get
  4811.     along with the more thorough behaviour of the create_panels and
  4812.     destroy_panels functions.
  4813.  
  4814.     * main.c (paint_quick_view_panel), view.c (display): Quick view no
  4815.     longer flashes when holding an arrow key down.
  4816.  
  4817.     * setup.c (load_setup): The call to the meta function moved to the
  4818.     main function.
  4819.  
  4820.     * util.c (close_error_pipe): Now it is possible to tell
  4821.     close_error_pipe to ignore the message in the pipe (needed by
  4822.     quick view).
  4823.  
  4824.     * view.c: Reorganized to use the same kind of folding as Dugan
  4825.     uses in the subshell.c. (free_file, get_byte, load_view_file,
  4826.     search, regexp_search, normal_search): Changes to support loading
  4827.     file in parts when mmap can't be used. (load_byte): New function
  4828.     to implement loading in parts. (do_view_init): Small bug fixes. 
  4829.  
  4830. Sun Jan 22 12:10:03 1995  Dugan O. Porter  (dugan@b011.eunet.es)
  4831.  
  4832.     * subshell.c (init_subshell): Introduced a new symbolic constant
  4833.     FORK_FAILURE, used as an exit code to indicate failure to start up
  4834.     the subshell, to that the sigchld handler can distinguish that
  4835.     case from when the user exits the subshell voluntarily.
  4836.  
  4837.     (feed_subshell): Never call `select' without checking that the
  4838.     subshell is alive is TRUE; this prevents MC from locking up so
  4839.     often.  Also, capture the subshell's prompt regardless of
  4840.     whether the `how' parameter is QUIETLY or VISIBLY.
  4841.  
  4842.     (sigchld_handler): Check the subshell's exit code to find out
  4843.     whether the user exited or we simply failed to fork the subshell.
  4844.  
  4845.     (pty_open_slave): Temporarily commented out the calls to chown()
  4846.     and chmod(), to fix the /dev/tty?? permissions problem.
  4847.  
  4848. Sat Jan 21 14:15:29 1995  Dugan O. Porter  (dugan@b011.eunet.es)
  4849.  
  4850.     * subshell.c (init_subshell): Replaced the multi-branched if
  4851.     statements with switches, to accommodate future subshell types.
  4852.  
  4853. Thu Jan 19 11:27:02 1995  Dugan O. Porter  (dugan@b011.eunet.es)
  4854.  
  4855.     * Makefile.in: Added cons.saver to the `all' target, and
  4856.     install.saver to the `install' target.  Plus minor cleanups.
  4857.  
  4858. Sat Jan 14 08:41:07 1995  Dugan O. Porter  (dugan@b011.eunet.es)
  4859.  
  4860.     * main.c (quit_cmd): Added a call to exit_subshell.
  4861.  
  4862.     * subshell.c (feed_subshell): Fixed a prompt-capturing bug, by
  4863.     moving the declaration of prompt_pos closer to its point of use.
  4864.  
  4865.     (feed_subshell): Added a nasty temporary hack to make MC wait for
  4866.     the subshell's prompt for an extra second the first time through,
  4867.     to allow time for the shell's init file to run.
  4868.  
  4869. Fri Jan 13 12:17:43 1995  Dugan O. Porter  (dugan@b011.eunet.es)
  4870.  
  4871.     * main.c (suspend_cmd): The screen contents weren't being saved
  4872.     properly after returning to MC, because ncurses was re-drawing
  4873.     the screen instantly, before the call to handle_console.  Fixed
  4874.     by swapping out ncurses' SIGTSTP handler briefly.
  4875.  
  4876.     (view_other_cmd): Made MC update its prompt from the subshell's.
  4877.  
  4878.     * util.c: Made startup_handler global so it can be accessed from
  4879.     main.c.  It would perhaps be better to put everything to do with
  4880.     signals in a file "signals.c", and also re-organize MC's entire
  4881.     source file structure while we're at it.  Some other time...
  4882.  
  4883.     * main.c (pre_exec, post_exec): Removed the calls to
  4884.     handle_console, so that suspend_cmd can call pre_exec and
  4885.     post_exec without saving the screen contents, if it wants to.
  4886.  
  4887. Sun Jan 22 18:11:58 1995  "Sinolits Vadim vvs@nsrd.npi.msu.su
  4888.  
  4889.     * view.c (move_left, move_right, check_left_right_keys): Added
  4890.     vertical scrolling.
  4891.  
  4892. Thu Jan 19 11:06:59 1995  Miguel de Icaza  (miguel@roxanne)
  4893.  
  4894.     * layout.c (change_screen_size), main.c (do_nc): compile the
  4895.     window size change functions only if the system provides them.
  4896.  
  4897. Thu Jan 19 14:57:14 1995  Janne Kukonlehto  (jtklehto@paju)
  4898.  
  4899.     * input.c (update_input): Now supports 8bit clean mode.
  4900.  
  4901.     * key.c (getch_with_delay): New function to work around System V
  4902.     Curses vt100 bug. (mi_getch): Now uses getch_with_delay.
  4903.  
  4904. Wed Jan 18 13:40:14 1995  Janne Kukonlehto  (jtklehto@paju)
  4905.  
  4906.     * layout.c: The check_split function divided to two versions:
  4907.     _check_split and check_split. Now cancel button really cancels all
  4908.     the changes, not just some of them. Added support for horizontal
  4909.     splitting.
  4910.  
  4911.     * layout.c (flag_winch, change_screen_size), layout.h: New
  4912.     functions for handling of the WINCH signal. Now, how can we get
  4913.     curses to realize the change in the screen size?
  4914.  
  4915.     * main.c (do_nc): Now handles the WINCH signal.
  4916.  
  4917.     * main.c (select_item): Changes for horizontal splitting.
  4918.  
  4919.     * main.c (init_entry, repaint_screen, only_refresh_screen,
  4920.     refresh_screen, quick_view_key, init_menu): Changes to support
  4921.     menubar_visible, command_prompt and keybar_visible toggles.
  4922.  
  4923.     * main.c (enter, change_view): Small fixes.
  4924.  
  4925.     * screen.c (do_init_panel): Fixed the missing titles bug.
  4926.  
  4927. Tue Jan 17 11:04:24 1995  Miguel de Icaza  (miguel@roxanne)
  4928.  
  4929.     * util.c (strcasecmp): Fix strcasecmp.
  4930.  
  4931.     * option.c (init_configure): The correct index is 10, not 9 after
  4932.     adding the new advanced chown option to the dialog box.
  4933.  
  4934. Tue Jan 17 18:12:03 1995  Janne Kukonlehto  (jtklehto@paju)
  4935.  
  4936.     * Makefile.in: Added layout.c to SRCS, layout.h to HDRS and
  4937.     layout.o to OBJS.
  4938.  
  4939.     * hotlist.c: The sf_stat variable isn't needed.
  4940.  
  4941.     * hotlist.c (add2hotlist_cmd), hotlist.h, main.c (ctl_x_map): The
  4942.     hotkey for adding a directory to the hotlist is back!
  4943.  
  4944.     * layout.c: A new file for changing the panel widths and other
  4945.     things like that on the fly.
  4946.  
  4947.     * main.c (panel_event, menu_bar_event, change_view), panel.h: Now
  4948.     global instead of static (needed by layout.c).
  4949.  
  4950.     * main.c (init_panels, done_panels, do_nc): Window and mouse
  4951.     handling code moved to layout.c in the create_panels and
  4952.     destroy_panels functions. The do_init_panel function is now used
  4953.     instead of init_panel.
  4954.  
  4955.     * main.c (change_labels, repaint_screen, only_refresh_screen,
  4956.     refresh_screen, default_key, init_labels), view.c (view_refresh,
  4957.     create_windows, view), win.c (set_label_text): Command prompt and
  4958.     function key bar might not exist.
  4959.  
  4960.     * main.c (change_panel, paint_quick_view_panel, quick_view_cmd,
  4961.     change_view): Miscellaneous changes to make sure we are always in
  4962.     the right directory.
  4963.  
  4964.     * main.c (do_mark_file), screen.c (display_mini_info): No
  4965.     hardwired panel widths like "COLS/2-2" anymore.
  4966.  
  4967.     * main.c (paint_quick_view_panel), view.c (view_init, view_status,
  4968.     display, create_windows), view.h: Quick view has now a frame
  4969.     (sorry about this, Torben).
  4970.  
  4971.     * main.c (quick_view_key, tree_view_cmd), view.c (view):
  4972.     Miscellenous fixes.
  4973.  
  4974.     * option.c (check_options): Now static. Fixed the hotkey of
  4975.     advanced chown. (configure_box): Now the save button saves only
  4976.     the settings of this dialog. Use the save setup command to save
  4977.     the whole setup.
  4978.  
  4979.     * screen.c (do_init_panel, init_panel): The init_panel function
  4980.     now initializes only the things related to the size and positions
  4981.     of the panel. Other stuff moved to the new do_init_panel function.
  4982.  
  4983.     * setup.c, setup.h: New functions: save_layout, load_layout and
  4984.     save_configure. The configure and layout dialogs save now only
  4985.     their own settings. Use save setup command to save the whole
  4986.     setup. (save_setup, load_setup): Changes related to the addition of
  4987.     save_layout, load_layout and save_configure.
  4988.  
  4989.     * view.c (load_view_file, view_update, view_check_key): A lot of
  4990.     error messages and problems are skipped or ignored when in quick
  4991.     view mode. (do_view_init): hex_mode and wrap_mode are no longer
  4992.     reinitialized in the quick view mode.
  4993.  
  4994.     * win.c (wprint_bytesize): Outputs now always seven characters to
  4995.     make justifying easier.
  4996.  
  4997. Mon Jan 16 19:22:27 1995  Miguel de Icaza  (miguel@roxanne)
  4998.  
  4999.     * util.c (tilde_expand): Small bug fix: strdup the home_dir.
  5000.  
  5001. Sat Jan 14 13:46:10 1995  Janne Kukonlehto  <jtklehto@stekt10>
  5002.  
  5003.     * main.c (parse_control_file): Small changes in handling of the cd
  5004.     command.
  5005.  
  5006.     * main.c (change_labels, change_panel, key_f2_cmd, key_f3_cmd,
  5007.     key_f4_cmd, paint_quick_view_panel, quick_view_key, init_labels),
  5008.     screen.c (init_panel): Changes for the quick view mode.
  5009.  
  5010.     * main.c (key_f5_cmd, key_f6_cmd, key_f7_cmd, key_f8_cmd): New
  5011.     functions for the quick view mode.
  5012.  
  5013.     * view.c: Reorganized. A lot of changes to support quick view
  5014.     feature.
  5015.  
  5016.     * view.h: Added view_init, view_update, view_labels,
  5017.     toggle_wrap_mode, toggle_hex_mode, goto_line, regexp_search,
  5018.     normal_search and view_check_key to support quick view feature.
  5019.  
  5020.     * main.c (dummy): Deleted as unnecessary.
  5021.  
  5022.     * main.c (tree_leave), tree.c (tree_done, tree), tree.h: The
  5023.     tree_done function deleted as unnecessary.
  5024.  
  5025.     * subshell.c (init_subshell): Opening fifo as O_RDONLY or O_WRONLY
  5026.     causes deadlock. Now uses O_RDWR instead. Replaced getenv ("HOME")
  5027.     with the home_dir variable.
  5028.  
  5029. Fri Jan 13 12:55:42 1995  Miguel de Icaza  <miguel@sphinx>
  5030.  
  5031.     * find.c (do_search): strcpy the string only if the returned value
  5032.     is not null. 
  5033.  
  5034. Fri Jan 13 15:33:09 1995  Janne Kukonlehto  <jtklehto@stekt8>
  5035.  
  5036.     * find.c (find_parameters): Now you can use tree for specifying
  5037.     the start dir.
  5038.  
  5039.     * main.c (change_labels, key_f4_cmd), tree.c (toggle_nav_mode,
  5040.     win_init), tree.h: In tree mode the label of the F4 key is changed
  5041.     between "static" and "dynamic".
  5042.  
  5043.     * tree.c (set_navig_label): New function for changing the label of
  5044.     the F4 key in the tree mode.
  5045.  
  5046.     * mc.1 (Directory tree): Updated.
  5047.  
  5048. Thu Jan 12 17:15:21 1995  Miguel de Icaza  <miguel@sphinx>
  5049.  
  5050.     * widget.c (input_callback): Ugly hack to avoid update_input clear
  5051.     the first field of the Input* structure when used for displaying
  5052.     the input line.
  5053.  
  5054.     * find.c (start_stop): Changed the moving dot for a nice rotating
  5055.     dash.  Should change this for a rotating fish.
  5056.  
  5057.     * widget.c (listbox_draw): When painting listboxes, display at
  5058.     most the size that would fit in the listbox (obvious problem with
  5059.     the find code).
  5060.  
  5061.     * find.c (do_find): Free the dirname and filename only if they
  5062.     were strduped.
  5063.  
  5064.     * widget.c (listbox_get_current): Set decent values even if the
  5065.     listbox is empty.
  5066.  
  5067.     * option.c (configure_box): Sync the profiles after saving the
  5068.     setup if the Save button was selected.
  5069.  
  5070.     * tree.c: renamed search_buffer to search_buffer_tree, in order to
  5071.     let the program link/compile under AIX with c6000.  BTW, Janne,
  5072.     could we share the search_buffer with main?
  5073.  
  5074.     * subshell.c, view.c, key.c, gpm-xterm.c, util.c: check for AIX,
  5075.     _AIX and __aix__ macros.
  5076.  
  5077.     * main.c (do_nc): Now, we sync the profiles, but save the setup
  5078.     only if requested.  The net result is that now we save the hotlist
  5079.     automagically even if the setup is not saved/changed.  This from a
  5080.     couple of comments from Janne and Dugan on the list.
  5081.  
  5082.     * setup.c (save_setup): Save setup doesn't sync the profiles.
  5083.  
  5084.     * subshell.c (init_subshell): Adapted Janne's patch of shell =
  5085.     getenv ("SHELL") to new Dugan's code.  Let's hope Dugan will send
  5086.     me the ChangeLog entries for his last subshell code.
  5087.  
  5088. Thu Jan 12 14:00:29 1995  Janne Kukonlehto  <jtklehto@stekt8>
  5089.  
  5090.     * main.c (index_by_name, select_by_index, parse_control_file),
  5091.     util.c (my_putenv, my_putenv_expand, prepare_environment): New
  5092.     functions for the control file support.
  5093.  
  5094.     * main.c (do_execute), main.h, util.c (my_system), util.h: Changes
  5095.     for the control file support.
  5096.  
  5097.     * main.c (execute, handle_args), main.h, subshell.c
  5098.     (init_subshell), util.c (my_system): The value of shell variable
  5099.     is now calculated only once in one place instead of dozens of
  5100.     times and places.
  5101.  
  5102.     * main.c (ITEMS, panel_event, move_left, move_right,
  5103.     copy_current_pathname, copy_other_pathname, copy_prog_name,
  5104.     copy_other_prog_name, copy_tagged, copy_other_tagged), user.c
  5105.     (expand_format): Fixed bugs and problems caused by addition the
  5106.     quick view mode.
  5107.  
  5108.     * main.c (handle_args): Reports if the TERM variable is
  5109.     unset. (main): The error messages are no longer wiped out from the
  5110.     screen by cons.saver.
  5111.  
  5112.     * mc.1 (Executing operating system commands): Documented the
  5113.     control file feature.
  5114.  
  5115.     * tree.c (tree_rescan_cmd): Someone had changed it to use the
  5116.     get_current_wd function and forgot to test whether it works
  5117.     after such change. Now fixed.
  5118.  
  5119.     * util.c (load_file): Now more robust.
  5120.  
  5121. Wed Jan 11 18:36:59 1995  Miguel de Icaza  <miguel@sphinx>
  5122.  
  5123.     * widget.c (listbox_get_current): New function for retrieving the
  5124.     data from the listbox.
  5125.  
  5126.     (button_set_text): New function to change the label of a button.
  5127.  
  5128.     (listbox_add_item): Now we return the value of the strduped string.
  5129.  
  5130.     * find.c: Many changes and fixes, the find feature is not yet ready.
  5131.  
  5132.     * widget.c (input_callback): Enter gives the focus to the next
  5133.     widget. 
  5134.  
  5135.     (listbox_select_last): Selects the last entry in the listbox.
  5136.  
  5137. Wed Jan 11 15:08:12 1995  Janne Kukonlehto  <jtklehto@stekt8>
  5138.  
  5139.     * Makefile.in (mc.html): New target which produces html version of
  5140.     the manual page.
  5141.  
  5142.     * boxes.c (display_callback, display_init), main.c (select_item,
  5143.     change_panel, action, panel_event, move_left, move_right,
  5144.     paint_info_panel, switch_to_info, change_view,
  5145.     copy_other_pathname, copy_other_prog_name, copy_other_tagged,
  5146.     do_nc), panel.h, screen.c (display_mini_info, paint_dir,
  5147.     paint_panel, init_panel), setup.c (load_setup), user.c
  5148.     (expand_format, test_condition): Preliminary changes to support
  5149.     quick view mode.
  5150.  
  5151.     * main.c (paint_quick_view_panel, dummy, quick_view_key,
  5152.     quick_view_cmd): New functions for preliminary support for quick
  5153.     view mode.
  5154.  
  5155.     * ext.c (regex_command), mc.ext, mc.menu, user.c (user_menu_cmd),
  5156.     user.h: Now supports local shell_patterns settings.
  5157.  
  5158.     * user.c (check_patterns): New function to support local
  5159.     shell_patterns settings.
  5160.  
  5161.     * main.c (ITEMS, panel_event): Now works correctly with user
  5162.     formats like "half 2 ..." and "full 2 ...".
  5163.  
  5164.     * main.c (panel_event): Now works correctly user formats like
  5165.     "full ...".
  5166.  
  5167.     * main.c (paint_info_panel): Unsignificant bug fixes.
  5168.  
  5169.     * man2hlp.c: Now can produce HTML format output in addition to HLP
  5170.     format.
  5171.  
  5172.     * mc.1: Fixes so that man2hlp can produce correct HTML
  5173.     output. (Extension File Edit, Menu File Edit): Updated to mention
  5174.     local shell_patterns setting. (Menu File Edit): Mentions now
  5175.     combined default and addition conditions. Cleared out the
  5176.     explanation of the calculation order of conditions. (SEE ALSO):
  5177.     Corrected the URL.
  5178.  
  5179.     * menu.c (get_motion): Now you can drop menu with the down key
  5180.     like in the Norton Commander.
  5181.  
  5182.     * user.c (user_menu_cmd): Now supports combined addition and
  5183.     default conditions.
  5184.  
  5185. Wed Jan 11 15:08:12 1995  Janne Kukonlehto  <jtklehto@stekt8>
  5186.  
  5187.     * Makefile.in (mc.html): New target which produces html version of
  5188.     the manual page.
  5189.  
  5190.     * boxes.c (display_callback, display_init), main.c (select_item,
  5191.     change_panel, action, panel_event, move_left, move_right,
  5192.     paint_info_panel, switch_to_info, change_view,
  5193.     copy_other_pathname, copy_other_prog_name, copy_other_tagged,
  5194.     do_nc), panel.h, screen.c (display_mini_info, paint_dir,
  5195.     paint_panel, init_panel), setup.c (load_setup), user.c
  5196.     (expand_format, test_condition): Preliminary changes to support
  5197.     quick view mode.
  5198.  
  5199.     * main.c (paint_quick_view_panel, dummy, quick_view_key,
  5200.     quick_view_cmd): New functions for preliminary support for quick
  5201.     view mode.
  5202.  
  5203.     * ext.c (regex_command), mc.ext, mc.menu, user.c (user_menu_cmd),
  5204.     user.h: Now supports local shell_patterns settings.
  5205.  
  5206.     * user.c (check_patterns): New function to support local
  5207.     shell_patterns settings.
  5208.  
  5209.     * main.c (ITEMS, panel_event): Now works correctly with user
  5210.     formats like "half 2 ..." and "full 2 ...".
  5211.  
  5212.     * main.c (panel_event): Now works correctly user formats like
  5213.     "full ...".
  5214.  
  5215.     * main.c (paint_info_panel): Unsignicant bug fixes.
  5216.  
  5217.     * man2hlp.c: Now can produce HTML format output in addition to HLP
  5218.     format.
  5219.  
  5220.     * mc.1: Fixes so that man2hlp can produce correct HTML
  5221.     output. (Extension File Edit, Menu File Edit): Updated to mention
  5222.     local shell_patterns setting. (Menu File Edit): Mentions now
  5223.     combined default and addition conditions. Cleared out the
  5224.     explanation of the calculation order of conditions. (SEE ALSO):
  5225.     Corrected the URL.
  5226.  
  5227.     * menu.c (get_motion): Now you can drop menu with the down key
  5228.     like in the Norton Commander.
  5229.  
  5230.     * user.c (user_menu_cmd): Now supports combined addition and
  5231.     default conditions.
  5232.  
  5233. Wed Jan 11 15:08:12 1995  Janne Kukonlehto  <jtklehto@stekt8>
  5234.  
  5235.     * Makefile.in (mc.html): New target which produces html version of
  5236.     the manual page.
  5237.  
  5238.     * boxes.c (display_callback, display_init), main.c (select_item,
  5239.     change_panel, action, panel_event, move_left, move_right,
  5240.     paint_info_panel, switch_to_info, change_view,
  5241.     copy_other_pathname, copy_other_prog_name, copy_other_tagged,
  5242.     do_nc), panel.h, screen.c (display_mini_info, paint_dir,
  5243.     paint_panel, init_panel), setup.c (load_setup), user.c
  5244.     (expand_format, test_condition): Preliminary changes to support
  5245.     quick view mode.
  5246.  
  5247.     * main.c (paint_quick_view_panel, dummy, quick_view_key,
  5248.     quick_view_cmd): New functions for preliminary support for quick
  5249.     view mode.
  5250.  
  5251.     * ext.c (regex_command), mc.ext, mc.menu, user.c (user_menu_cmd),
  5252.     user.h: Now supports local shell_patterns settings.
  5253.  
  5254.     * user.c (check_patterns): New function to support local
  5255.     shell_patterns settings.
  5256.  
  5257.     * main.c (ITEMS, panel_event): Now works correctly with user
  5258.     formats like "half 2 ..." and "full 2 ...".
  5259.  
  5260.     * main.c (panel_event): Now works correctly user formats like
  5261.     "full ...".
  5262.  
  5263.     * main.c (paint_info_panel): Unsignicant bug fixes.
  5264.  
  5265.     * man2hlp.c: Now can produce HTML format output in addition to HLP
  5266.     format.
  5267.  
  5268.     * mc.1: Fixes so that man2hlp can produce correct HTML
  5269.     output. (Extension File Edit, Menu File Edit): Updated to mention
  5270.     local shell_patterns setting. (Menu File Edit): Mentions now
  5271.     combined default and addition conditions. Cleared out the
  5272.     explanation of the calculation order of conditions. (SEE ALSO):
  5273.     Corrected the URL.
  5274.  
  5275.     * menu.c (get_motion): Now you can drop menu with the down key
  5276.     like in the Norton Commander.
  5277.  
  5278.     * user.c (user_menu_cmd): Now supports combined addition and
  5279.     default conditions.
  5280.  
  5281. Tue Jan 10 15:58:24 1995  Miguel de Icaza  <miguel@sphinx>
  5282.  
  5283.     * configure.in: Now detection of the regular expression functions
  5284.     is more efficient.  We now detect properly the HP-UX stuff.
  5285.  
  5286. Mon Jan  9 15:39:58 1995  Miguel de Icaza  <miguel@sphinx>
  5287.  
  5288.     * widget.c (listbox_draw): If the listbox is empty, draw empty
  5289.     fields.
  5290.  
  5291.     * find.c: Continued work on the find command.
  5292.  
  5293.     * dlg.c (set_idle_proc, dlg_new): Support for calling the callback
  5294.     procedure on the idle time.
  5295.  
  5296.     * configure.in: Under HP-UX link with -lc and -lPW.
  5297.  
  5298. Mon Jan  9 15:39:58 1995  Thomas Pundt <pundtt@math.uni-muenster.de>
  5299.  
  5300.     * util.c (basename): compile it only if it's not available in the
  5301.     system. 
  5302.  
  5303. Mon Jan  9 16:50:51 1995  Janne Kukonlehto  <jtklehto@stekt8>
  5304.  
  5305.     * *.c, *.h: Checked spelling of all comments with ispell.
  5306.  
  5307.     * ChangeLog, NEWS: Minor corrections.
  5308.  
  5309.     * tree.c (show_tree, tree_event): Rewrote the mouse support. Now
  5310.     it is based on the new static tree_shown variable.
  5311.  
  5312. Sun Jan  8 16:35:33 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  5313.  
  5314.     * key.c, subshell.c: If being compiled under AIX, then include
  5315.     sys/select.h 
  5316.  
  5317. Sat Jan  7 18:56:55 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
  5318.  
  5319.     * main.c (maybe_cd, move_left, move_right): Used to navigate
  5320.     with the arrow keys, like the Lynx program.  Need to turn the
  5321.     navigate_with_arrows setting in the .mc.ini file.
  5322.  
  5323.     * find.c (do_find): Complete rewrote of the find command.
  5324.  
  5325.     * ext.c (exec_extension): If the users aborts an input_dialog,
  5326.     then return value is 0.  It's ok for the user to accept an empty
  5327.     string. 
  5328.  
  5329.     Give an initial value to the prompt variable.
  5330.  
  5331. Sun Jan  8 16:27:48 1995  Radek Doulik  <rodo@RoDo-Station>
  5332.  
  5333.     * main.c: toggle_adv_ch function to toggle advanced chmod/chown
  5334.     command, int adv_ch - bool variable
  5335.  
  5336.     * setup.c: added new option in .mc.ini file for advanced
  5337.     chmod/chown command
  5338.  
  5339.     * option.c: added new check button to switch between normal and
  5340.     advanced chmod/chown commands.
  5341.  
  5342.     * chown-advanced.c: new file for advanced chmod/chown command -
  5343.     note that this is only preview and now does nothing.
  5344.  
  5345. Sat Jan  7 18:51:10 1995  Radek Doulik  <rodo@RoDo-Station>
  5346.  
  5347.     * chown.h, chown.c (init_chown): One more bug fixed. Use
  5348.     single_set variable to decide, why use only two buttons.
  5349.  
  5350. Fri Jan  6 13:55:03 1995  Miguel de Icaza  <miguel@sphinx>
  5351.  
  5352.     * chmod.c (chmod_cmd): We have to destroy the complete dialog
  5353.     completely each time, since we keep running the dialog and it
  5354.     keeps pushing relevant data.  We may need to split the run_dlg
  5355.     stuff.
  5356.  
  5357.     * chown.c (chown_cmd): Same as chmod.c
  5358.  
  5359.     * dialog.c (push_refresh): Now the program should refresh the
  5360.     complete screen if the fast_refresh setting is set to 0, else it
  5361.     stands for the default behavior.
  5362.  
  5363. Thu Jan  5 11:36:34 1995  Miguel de Icaza  <miguel@sphinx>
  5364.  
  5365.     * main.c (sort_cmd): When changing sort orders, and you ask for
  5366.     unsorted, it has to reload the directory in order for the list to
  5367.     be unsorted.  A shame all the complexity needed.
  5368.  
  5369.     (copy_cmd): If there is an error during the copy process, the copy
  5370.     is aborted.
  5371.  
  5372.     * screen.c (repaint_file): Now it's able to trunc the field name
  5373.     taking care of justification.
  5374.  
  5375.     * main.c (ok_to_copy): Free the file name if it was allocated from
  5376.     get_full_name.
  5377.  
  5378.     * file.c (erase_dir): Don't allow removal of "." or ".." directories.
  5379.  
  5380.     * main.c (do_nc): Returns status of initialization, so we call
  5381.     endwin only if the program ran successfully.
  5382.  
  5383. Thu Jan  5 14:34:36 1995  Janne Kukonlehto  <jtklehto@stekt8>
  5384.  
  5385.     * ChangeLog: Run through ispell and other small fixes.
  5386.  
  5387.     * file.c (move_file), view.c (load_view_file): Now file moving and
  5388.     compressed file viewing works also with filenames like "*(#&$%@}?>".
  5389.     The only disallowed characters are "\000", "/" and "'".
  5390.  
  5391.     * hotlist.c: No need to include chmod.h.
  5392.  
  5393.     * main.c (do_mask_ren_cmd): Query for confirmation has now two new
  5394.     choices: All and Cancel. Esc and F10 work now as expected.
  5395.  
  5396.     * tree.c (tree_move_to_child): Directory is rescanned only if it
  5397.     has no known children (as requested by Dugan).
  5398.  
  5399.     * win.c (set_label_text): If screen has too few columns leaves out
  5400.     those labels which don't fit. Avoids printing in bottomright
  5401.     corner to get rid of strange side-effects. (define_label,
  5402.     define_label_quit): Code clean-up.
  5403.  
  5404. Wed Jan  4 11:17:53 1995  Miguel de Icaza  <miguel@sphinx>
  5405.  
  5406.     * profile.c (profile_clean_section): Removes a section from the
  5407.     profile manager.
  5408.  
  5409.     * hotlist.c (save_hotlist, load_hotlist): Now the hotlist save and
  5410.     load functions load their information from the .mc.ini file
  5411.     instead of their own file.
  5412.  
  5413.     (done_hotlist): new shutdown function.  Clears all the memory used
  5414.     by the hotlist.
  5415.  
  5416.     * setup.c (load_setup): Moved the load_hotlist function here.
  5417.  
  5418.     (save_setup): Moved the save_hotlist function here.
  5419.  
  5420.     * profile.c (profile_init_iterator, profile_iterator_next):
  5421.     Iterator functions for the profile manager.
  5422.  
  5423.     * widget.c (listbox_draw): Use a different set of colors if the
  5424.     listbox is focused or not.
  5425.  
  5426.     (button_callback, button_new): Allow the user to specify a
  5427.     callback function for a button, in which case, we don't abort the
  5428.     execution of the dialog.
  5429.  
  5430.     (listbox_key): Report event as handled on both key up and key down.
  5431.  
  5432.     * hotlist.c (hotlist_callback): Moved the redraw code to the
  5433.     switch DLG_DRAW case.
  5434.  
  5435.     (init_hotlist): Changed to use the new color scheme.
  5436.  
  5437. Wed Jan  4 16:24:14 1995  Janne Kukonlehto  <jtklehto@stekt8>
  5438.  
  5439.     * Makefile.in: Added hotlist.c to SRCS, hotlist.h to HDRS and
  5440.     hotlist.o to OBJS.
  5441.  
  5442.     * chmod.c: SGI also needs the umode_t define.
  5443.  
  5444.     * hotlist.c: New file which implements directory hotlist
  5445.     feature. Most of its code is copied from chown.c or moved from
  5446.     main.c.
  5447.  
  5448.     * hotlist.h: New file.
  5449.  
  5450.     * main.c: Now includes hotlist.h. (add2hotlist,    load_hotlist,
  5451.     save_hotlist and add2hotlist_cmd): Moved to
  5452.     hotlist.c. (quick_chdir): Calls the new hotlist_cmd function
  5453.     instead of creating a listbox of its own. (CmdMenu): "Add to
  5454.     hotlist" removed from the Command menu. (ctl_x_map): Keyboard
  5455.     shortcut of add2hotlist_cmd removed.
  5456.  
  5457.     * ncurses.h: SGI is system-V, too.
  5458.  
  5459. Tue Jan  3 16:26:04 1995  Miguel de Icaza  <miguel@sphinx>
  5460.  
  5461.     * screen.c (paint_frame): Trunc the header size to the computed size.
  5462.  
  5463.     * wtools.c (run_listbox): Fixed memory leak.  Free the Listbox
  5464.     structure.  The MAD system is a great tool.  Don't develop without
  5465.     it. 
  5466.  
  5467.     * color.c: New color entries for dnormal, dfocus, dhotfocus and
  5468.     dhotnormal. 
  5469.  
  5470.     * boxes.c (init_box_colors), chown.c, chmod.c: Use new color
  5471.     scheme for dialog boxes.
  5472.  
  5473.     * util.c (regexp_match): Uses regcomp if available in that system
  5474.     (HP-UX and Linux).
  5475.  
  5476. Mon Jan  2 14:07:42 1995  Miguel de Icaza  <miguel@sphinx>
  5477.  
  5478.     * main.c (ren_cmd): If we detect an '*' or an '?' in the rename
  5479.     command, we invoke the mask rename command written by Janne. 
  5480.  
  5481.     (ok_to_copy_all): Now also let's the user abort with escape.
  5482.  
  5483.     (copy_cmd): Added support for aborting a copy.
  5484.  
  5485.     * file.c (copy_file_file): Changed exit address to ret3 when the
  5486.     dialog has been inserted.  This fixes another problem with pop
  5487.     events. 
  5488.  
  5489. Sun Jan  1 19:27:05 1995  Miguel de Icaza  <miguel@sphinx>
  5490.  
  5491.     * subshell.c (invoke_subshell): Now takes two extra setable
  5492.     parameters: new_dir and msg.  new_dir is used to return the new
  5493.     working dir if it changed and msg is used to return an informative
  5494.     message back to the calling routine.
  5495.  
  5496.     * screen.c (parse_display_format): Added handling for left and
  5497.     right justification.
  5498.  
  5499.     (repaint_file): Added support for justification modes.
  5500.  
  5501. Sat Dec 31 13:41:54 1994  Miguel de Icaza  <miguel@sphinx>
  5502.  
  5503.     * input.c (create_input): current_max_len must be set to the
  5504.     maximum of the field_length and the user provided initial text. 
  5505.  
  5506.     * menu.c (run_bar): Initialize abort variable.  
  5507.  
  5508.     * screen.c (init_panel): Assign user_format only if it doesn't
  5509.     have a value set, this should not happen. 
  5510.  
  5511.     * dialog.c (input_dialog): Frees the buffer if the input box was
  5512.     canceled. 
  5513.  
  5514.     * screen.c (repaint_file): On fields that are not the file name
  5515.     field "cut" the leftmost characters when limiting the string
  5516.     length. 
  5517.  
  5518.     (string_file_perm_octal): New mode: returns permissions mode in octal.
  5519.  
  5520. Fri Dec 30 14:07:56 1994  Miguel de Icaza  <miguel@sphinx>
  5521.  
  5522.     * subshell.c (pty_open_master, pty_open_slave): New functions to
  5523.     open the slave and master sides of a pty.  They work on both BSD
  5524.     and SystemV machines.
  5525.  
  5526.     * main.c (filter_cmd): Fix: use the correct regexp on the filter
  5527.     function.
  5528.  
  5529.     * screen.c (string_marked): new display function "mark", returns
  5530.     an asterisk if the file is marked or a space if it's not.
  5531.  
  5532.     * terminfo/linux.ti: When compiling also generate the console
  5533.     terminfo. 
  5534.  
  5535.     * util.c (string_perm): Changed position and character string for
  5536.     sticky directories (was [0] -> i now is [9] -> t).
  5537.  
  5538.     * profile.c (is_loaded): Bug fixing: return load status and the
  5539.     section separately.
  5540.  
  5541.     (GetSetProfileChar): Added a missing return this caused the long
  5542.     initialization files problem.
  5543.  
  5544.     * key.c (is_abort_char, is_quit_char): New functions, not yet
  5545.     used.  Should be used to test for abort/escape conditions.
  5546.  
  5547.     * setup.c (load_setup): Do the setup even if there is no init file.
  5548.  
  5549.     * screen.c (parse_display_format): Don't let the display format
  5550.     use more space than the available.  Not very nice fix.
  5551.  
  5552.     (init_panel): Set a default user format.
  5553.  
  5554.     * boxes.c (display_callback): If the user uses the 'u' key, now we
  5555.     set the focus to the user format input field.
  5556.  
  5557.     * file.c (copy_dir_dir): Added missing closedir.
  5558.  
  5559.     (recursive_erase): Added missing destroy_dialog this should fix
  5560.     the mouse missing mouse pop event.
  5561.  
  5562. Fri Dec 30 01:36:24 1994  Dugan O. Porter  (dugan@b011.eunet.es)
  5563.  
  5564.     * util.c (strip_ctrl_codes): New function: removes the control
  5565.     sequences from its argument string.
  5566.  
  5567.     * main.c: Made some local variables and    functions `static'.
  5568.  
  5569.     (do_nc, set_new_prompt): Call the new function `strip_ctrl_codes'
  5570.     to remove the control sequences from bash's prompt.
  5571.  
  5572. Fri Dec 30 14:08:33 1994  Janne Kukonlehto  <jtklehto@stekt8>
  5573.  
  5574.     * cons.handler.c (handle_console): Checks that the cons.saver
  5575.     process is still running by sending cont signal everytime before
  5576.     communicating with it (as requested by Dugan). Added comments.
  5577.  
  5578.     * cons.saver.c: Code clean-up and comment adding. (tty_getsize):
  5579.     Simplified the code based on the fact that tty is console.
  5580.  
  5581.     * help.c (interactive_display), tree.c (tree): Doesn't seg-fault
  5582.     anymore if screen has less than 22 rows. Now the minimum limit for
  5583.     the screen size is the number of lines in File menu.
  5584.  
  5585.     * main.c (handle_args): Gives an error message instead of
  5586.     seg-faulting if the TERM variable is unset.
  5587.  
  5588.     * subshell.c (init_subshell): Now supports also tcsh and zsh
  5589.     shells in addition to bash. FIXME: The tcsh support leaves an
  5590.     extra fifo in the /tmp directory.
  5591.  
  5592.     * tree.c (show_tree): I hope it finally does the name truncation
  5593.     correctly. It should now work up to 32 levels of subdirectories.
  5594.  
  5595. Thu Dec 29 15:38:00 1994  Miguel de Icaza  <miguel@sphinx>
  5596.  
  5597.     * boxes.c (sort_box): Added nice Cancel button to the sort order
  5598.     box. 
  5599.  
  5600.     * widget.c (input_event): Added precary mouse support for input
  5601.     lines. 
  5602.  
  5603.     * input.c (update_input): Better cursor movement 
  5604.     (input_set_point): New function that allows the user to set the
  5605.     point. 
  5606.  
  5607.     * panel.h (PANEL_ISVIEW): Added missing call new view to
  5608.     PANEL_ISVIEW, this caused the problem of not reloading the user
  5609.     display. 
  5610.  
  5611.     * screen.c (panel_reload): Added a missing return after
  5612.     tree_rescan_cmd and paint_panel.  Tree views don't need all the
  5613.     extra code
  5614.  
  5615.     * util.c (get_current_wd): system independent get wd function.
  5616.  
  5617.     * find.c, main.c, screen.c, tree.c: replace ifdef code for calling
  5618.     getwd/getcwd for a call to a new function in util.c
  5619.  
  5620.     * screen.c (paint_dir): Paint directory only if the panel is not a
  5621.     tree or info view.
  5622.  
  5623.     * util.c (name_trunc): Truncate correctly when the field is odd. 
  5624.  
  5625.     * view.c (do_view): Scroll by half pages with mouse clicks instead
  5626.     of one line at a time.
  5627.  
  5628.     * xterm.ti: added a base xterm-base class for both xterm and xterm
  5629.     color.  xterm now adds support for the sgr and sgr0 capabilities.
  5630.     This fixes the display problems with ncurses when changing
  5631.     attributes. 
  5632.  
  5633.     We still need to make this work with the Linux console.
  5634.  
  5635.     * setup.c, main.c (panel_event): mouse_move_pages, new setting
  5636.     that let's the user specify which kind of movement should be done
  5637.     when clicking on the top or the bottom of the panels.
  5638.  
  5639. Thu Dec 29 03:08:01 1994  Dugan O. Porter  (dugan@b011.eunet.es)
  5640.  
  5641.         * util.c (my_system): Restore the signal mask after finishing.
  5642.  
  5643.         * main.c (main): Simplified the print_last_wd handling slightly.
  5644.  
  5645. Wed Dec 28 14:00:05 1994  Miguel de Icaza  <miguel@sphinx>
  5646.  
  5647.     * main.c (do_nc): Set the correct prompt even when we have
  5648.     subshell support and have it disabled.
  5649.  
  5650.     * screen.c (repaint_file): Small bug fix: use name trunc :-).
  5651.  
  5652.     * input.c (update_input): Display control chars as a dot.
  5653.  
  5654. Wed Dec 28 13:47:13 1994  Dugan O. Porter  (dugan@b011.eunet.es)
  5655.  
  5656.         * main.c (menu_edit_cmd): Fixed incorrect `count' argument to
  5657.     `query_dialog' (was 3, now 2).  This was corrupting the screen.
  5658.  
  5659.         * util.c (msglen): Fixed a bug which was causing all the message
  5660.         boxes to be one column too wide, by adding an `else' to the loop.
  5661.  
  5662. Tue Dec 27 20:48:13 1994  Dugan O. Porter  (dugan@b011.eunet.es)
  5663.  
  5664.         * subshell.c (invoke_subshell): restart the subshell if it is
  5665.         killed by a signal while performing the user's command.
  5666.  
  5667.         (feed_subshell): don't exit if we get an I/O error reading from
  5668.         the pseudoterminal; this error sometimes occurs just after the
  5669.         shell has died, before we get a chance to restart it.
  5670.  
  5671.         * main.c (do_execute, view_other_cmd): don't restart the subshell
  5672.         with `init_subshell' if `invoke_subshell' fails; this is now done
  5673.         in subshell.c instead.
  5674.  
  5675. Mon Dec 26 12:47:40 1994  Miguel de Icaza  <miguel@sphinx>
  5676.  
  5677.     * setup.c (panel_save, panel_load): Load and save the user defined
  5678.     format. 
  5679.  
  5680.     * main.c: got rid of the long_cmd and brief_cmd.
  5681.  
  5682.     Changed the menus to use the new display_cmd for configuring the
  5683.     display instead of the old menuing code. 
  5684.  
  5685.     * screen.c (set_panel_format): New function: used to change the
  5686.     format display of a panel.
  5687.  
  5688.     * user.c, main.c, setup.c, screen.c, panel.h: Got rid of the
  5689.     obsolete VIEW_DISABLED constant and all its uses.
  5690.  
  5691.     * screen.c: Added new display type: space.
  5692.  
  5693.     * boxes.c: New file.  Contains misc dialog boxes to be used by the
  5694.     main program.
  5695.  
  5696.     * widget.c (input_callback): Handles the ESC and F10 keys, as well
  5697.     as the FOCUS and UNFOCUS commands.
  5698.  
  5699.     * chown.c (init_chown), option.c (init_configure), chmod.c
  5700.         (init_chmod): Use the centerwin routine.
  5701.  
  5702.     * win.h (centerwin): New wonderful macro to get centered windows.
  5703.  
  5704. Sun Dec 25 15:26:05 1994  Miguel de Icaza  <miguel@sphinx>
  5705.  
  5706.     * auto.c, chmod.c, chown.c, dir.c, main.c, mouse.c, gpm-xterm.c,
  5707.     option.c, subshell.c, util.c, view.c: Fix to the header files to
  5708.     include unistd.h only if available.  
  5709.  
  5710.     It seems that sys/types.h is present even if unistd.h is not.
  5711.     Check this in all the ported architectures.
  5712.  
  5713. Sat Dec 24 18:07:24 1994  Dugan O. Porter  (dugan@b011.eunet.es)
  5714.  
  5715.         * subshell.c: Numerous changes to implement capturing of bash's
  5716.         prompt for use on the MC command line.
  5717.  
  5718. Fri Dec 23 01:34:48 1994  Dugan O. Porter  (dugan@b011.eunet.es)
  5719.  
  5720.         * main.c: Added hotkey entries on the File menu for Link, Symlink
  5721.         and Mask Rename, and on the Command menu for "Add to hotlist".
  5722.  
  5723. Fri Dec 23 19:55:09 1994  Miguel de Icaza  <miguel@sphinx>
  5724.  
  5725.     * screen.c (parse_display_format, parse_panel_size): New functions
  5726.     to parse the user provided screen format.
  5727.  
  5728. Thu Dec 22 16:25:24 1994  Dugan O. Porter  (dugan@b011.eunet.es)
  5729.  
  5730.     * subshell.c (init_subshell): Removed the MC_PROMPT_COMMAND stuff,
  5731.     to be replaced by a cleaner, faster and better method of switching
  5732.     between MC and bash.
  5733.  
  5734.     * main.c (view_other_cmd): Made some changes to add support for
  5735.     the new way of switching to the shell and back.
  5736.  
  5737.     (execute): Changed similarly.  Now it refuses to run a command if
  5738.     the shell is already running something else.
  5739.  
  5740. Thu Dec 22 12:31:56 1994  Miguel de Icaza  <miguel@sphinx>
  5741.  
  5742.     * cons.saver.c (main): Changed the call to setpgrp to setsid, this
  5743.     fixes the bug that killed both the child program and the
  5744.     cons.saver program.
  5745.  
  5746.     * util.c (my_system): Add handling for SIGCHLD signal.
  5747.  
  5748. Wed Dec 21 13:21:37 1994  Miguel de Icaza  <miguel@sphinx>
  5749.  
  5750.     * option.c (configure_box): Small bug fix: now all the options are
  5751.     checked. 
  5752.  
  5753.     * main.c (do_nc): Small change to fix the program seg faulting on
  5754.     screens that are too small.
  5755.  
  5756.     * util.c (name_trunc): Expanded the buffer size.
  5757.  
  5758.     * main.c (do_search): Now we keep track of the search string in
  5759.     the tree view.
  5760.  
  5761.     * tree.c (search_tree): Now the function returns the status of the
  5762.     search so that the do_search routine tracks the current search
  5763.     string. 
  5764.  
  5765. Thu Dec 22 00:21:46 1994  Dugan O. Porter  (dugan@b011.eunet.es)
  5766.  
  5767.     * mc.bashrc: New file: a suggested "~/.mc.bashrc" for users.
  5768.     It is worth thinking about whether a global version of this
  5769.     file ($libdir/mc.bashrc) should be read also, or instead.
  5770.  
  5771.     * subshell.c (init_subshell): Set up an environment variable
  5772.     `MC_PROMPT_COMMAND', to store the value of `PROMPT_COMMAND' while
  5773.     the latter is not being used.
  5774.  
  5775.     * main.c (view_other_cmd): Modified so that, if the subshell is
  5776.     enabled, C-o will not only let us view the shell output but switch
  5777.     control to the shell altogether (using "unset PROMPT_COMMAND").
  5778.  
  5779. Wed Dec 21 11:36:10 1994  Dugan O. Porter  (dugan@b011.eunet.es)
  5780.  
  5781.     * subshell.c: Three small changes to help it compile under SunOS:
  5782.     included errno.h, removed the sig_atomic_t type, and changed the
  5783.     initialisation of the SIGCHLD signal action.
  5784.  
  5785.     (init_subshell): MC now uses an alternative ".mc.inputrc" if it
  5786.     exists, so that it is possible to have special `readline' options
  5787.     for MC's bash subshell.
  5788.  
  5789.     (invoke_subshell): Finally fixed the emacs corruption bug!  It was
  5790.     embarrassingly trivial: the tty needed to have OPOST mode disabled.
  5791.  
  5792. Mon Dec 19 15:02:07 1994  Miguel de Icaza  <miguel@sphinx>
  5793.  
  5794.     * main.c (menu_edit_cmd): There are no longer local menus.
  5795.     (init_panels): Free the other_dir variable only if it has been
  5796.     allocated. 
  5797.  
  5798.     * util.c (my_statfs): Better statfs support.  We will only do the
  5799.     statfs call on systems we know how to handle.
  5800.  
  5801. Mon Dec 19 16:52:06 1994  Dugan O. Porter  (dugan@b011.eunet.es)
  5802.  
  5803.     * subshell.c: Sundry small changes.
  5804.  
  5805.     (feed_subshell): Changed return type to void.
  5806.  
  5807.     (invoke_subshell): Fixed CWD handling: now bash changes to MC's
  5808.     working directory, if necessary, before running the user command.
  5809.  
  5810. Sun Dec 18 11:10:01 1994  Dugan O. Porter  (dugan@b011.eunet.es)
  5811.  
  5812.     * main.c (view_cmd): Removed superfluous variable `command'.
  5813.  
  5814.     * util.c: Removed all the (now unnecessary) references to the
  5815.     subshell stuff.
  5816.  
  5817.     * subshell.h: Added a declaration for the new global variable
  5818.     `bash_prompt', which always contains bash's latest prompt when
  5819.     the functions `init_subshell' and `invoke_subshell' return.
  5820.  
  5821.     * main.c (do_execute): Fixed up the call to `invoke_subshell'.
  5822.     (action): Removed superfluous variable `newdir'.
  5823.  
  5824.     * main.h: Removed extern declaration of use_subshell because it is
  5825.     already declared in subshell.h.
  5826.  
  5827. Sat Dec 17 16:06:51 1994  Miguel de Icaza  <miguel@sphinx>
  5828.  
  5829.     * setup.c (done_setup): New function that shutdowns the setup module.
  5830.  
  5831.     * terms.c: do_enter_ca_mode now enters putp's the enter_ca_mode to
  5832.     the screen.  Moved from main to avoid name space pollution, this
  5833.     should make the A/UX port work.
  5834.  
  5835.     * util.c: statfs structure definition moved from main.
  5836.  
  5837.     * main.c: Load correctly the directory structure. Moved the stat
  5838.     definition structures to util.c
  5839.  
  5840.     * mouse.c (mouse_log): New function used to debug the mouse event
  5841.     handling. 
  5842.  
  5843.     * mouse.h: New macros to debug the event/frame pushing popping
  5844.     mechanism. 
  5845.  
  5846.     * screen.c (init_panel): Sets the information panel correctly and
  5847.     load the stat information before displaying them. 
  5848.  
  5849.     (display_mini_info): Clean properly the display area when there
  5850.     are tagged files.
  5851.  
  5852.     * configure.in: Added check for statfs function.
  5853.  
  5854.     * main.c (do_nc): Shutdown properly the setup managing code.
  5855.  
  5856. Fri Dec 16 16:53:05 1994  Miguel de Icaza  <miguel@sphinx>
  5857.  
  5858.     * dlg.c (destroy_dlg): Fixed memory leak in the dialog manager.
  5859.  
  5860. Fri Dec 16 15:36:58 1994  Jon Stevens <root@dolphin.csudh.edu>
  5861.  
  5862.     * Ported to A/UX.  Added ifdefs for A/UX in some of the files.
  5863.     Detect A/UX when configuring.
  5864.  
  5865. Fri Dec 16 15:36:58 1994  Miguel de Icaza  <miguel@sphinx>
  5866.  
  5867.     * dir.c, find.c: Use the proper defines to get the dirent file
  5868.     (change DIRENT -> HAVE_DIRENT_H and the like.
  5869.  
  5870.     * main.c (mask_ren_cmd): Fixed the rename mask command finally.
  5871.  
  5872. Fri Dec 16 13:46:24 1994  Dugan O. Porter  (dugan@b011.eunet.es)
  5873.  
  5874.     * main.c (main): Moved the `print_last_wd'-handling code to just
  5875.     before the call to init_subshell, to make "mc -P" work again.
  5876.  
  5877.     * subshell.c (sigchld_handler): Sets `quit' to the special value
  5878.     BASH_EXIT if the user has typed "exit" or "logout" in bash.
  5879.  
  5880.     * main.c (main, do_nc, enter): Made certain parts of the shutdown
  5881.     code conditional on having quit the program from bash, rather than
  5882.     by using F10, to make MC exit cleanly in this case.  (Done using
  5883.     the BASH_EXIT constant described above.)
  5884.  
  5885.     * subshell.c (feed_subshell): If you typed a command, pressed
  5886.     Enter and hit some keys instantly afterwards, they would corrupt
  5887.     the command.  Fixed this by making `feed_subshell' not read from
  5888.     the keyboard if called with the QUIETLY option.
  5889.  
  5890. Thu Dec 15 15:42:29 1994  Miguel de Icaza  <miguel@sphinx>
  5891.  
  5892.     * main.c (do_execute): Was execute.  Now, allow for 2 classes of
  5893.     program execution: normal programs and commander programs.
  5894.  
  5895.     (load_hotlist): Freed hotlist loaded data.
  5896.  
  5897.     (do_search): Fixed bug: if we didn't find the file name, continue;
  5898.  
  5899.     (mask_ren_cmd): Compute the correct size for the destination
  5900.     string (sprintf).
  5901.  
  5902.     * util.c (my_system): Allow execution of programs without the
  5903.     shell (for the editor and view commands).
  5904.  
  5905. Thu Dec 15 13:44:58 1994  Dugan O. Porter  (dugan@b011.eunet.es)
  5906.  
  5907.     * subshell.c (sigchld_handler): New function and changes to allow
  5908.     us to react appropriately if the subshell is suspended or dies.
  5909.  
  5910.     (feed_subshell): This now takes an argument `how', which can be
  5911.     either QUIETLY or VISIBLY, to control whether the subshell's
  5912.     output goes to the screen.
  5913.  
  5914. Wed Dec 14 15:20:01 1994  Miguel de Icaza  <miguel@sphinx>
  5915.  
  5916.     * main.c (do_search): Don't add to the search string if we can't
  5917.     find the current string.
  5918.  
  5919.     * screen.c (display_mini_info): Clean the win_file window before
  5920.     painting the %s bytes in %d files message.
  5921.  
  5922.     * main.c (view_other_cmd): Put the cursor at the right place after
  5923.     viewing the alternate screen.
  5924.  
  5925.     * chown.h, chown.c (chown_cmd): Changed return type from int to void.
  5926.  
  5927.     * chmod.h, chmod.c (chmod_cmd): Changed return type from int to
  5928.         void.
  5929.  
  5930. Wed Dec 14 13:18:19 1994  Dugan O. Porter  (dugan@b011.eunet.es)
  5931.  
  5932.     * Most source files: Trivial fixes to remove compiler warnings.
  5933.  
  5934. Tue Dec 13 18:48:20 1994  Dugan O. Porter  (dugan@b011.eunet.es)
  5935.  
  5936.     * util.c (my_system): This function was temporarily blocking
  5937.     SIGCHLD.  I think this cannot have any effect (someone please
  5938.     correct me if I'm wrong), since MC defines no handler for SIGCHLD,
  5939.     and this signal is ignored by default.  So I removed the block,
  5940.     because subshell.c needs to do its own SIGCHLD handling.
  5941.  
  5942. Mon Dec 12 22:28:23 1994  Dugan Porter <dugan@b011.eunet.es>
  5943.  
  5944.     * main.c: Some spelling corrections.
  5945.  
  5946.     (execute): Only load the user shell once.  Changes for working
  5947.     with the subshell stuff.
  5948.  
  5949.     * subshell.c, subshell.h: New files: used to implement the
  5950.     concurrent shell running with the Commander.
  5951.  
  5952. Mon Dec 12 22:10:54 1994  Massimo Fontanelli <MC8737@mclink.it>
  5953.  
  5954.     * key.c, mem.h, tree.c: changes to allow compilation under AIX.
  5955.  
  5956. Fri Dec  9 11:53:48 1994  Miguel de Icaza  <miguel@sphinx>
  5957.  
  5958.     * wtools.c (query_dialog_new): Moved function from dlg.c
  5959.  
  5960.     * wtools.c, wtools.h: renamed from listbox.c and listbox.h.  They
  5961.     now will contain utility functions based on the dialog manager.
  5962.  
  5963.     * help.c (interactive_display): Added support for going back on
  5964.     the help history with the mouse.
  5965.  
  5966.     * dlg.c (dlg_new): Correct the order in which the events are
  5967.     pushed.  This fixes a bug with out of dialog events being sent to
  5968.     previous mouse handlers.
  5969.     (destroy_dlg): Added extra pop_event.
  5970.  
  5971. Thu Dec  8 20:08:55 1994  Miguel de Icaza  <miguel@sphinx>
  5972.  
  5973.     * main.c (do_nc): Redisplays the mini info when we have aborted a
  5974.     search. 
  5975.  
  5976. Fri Dec  9 16:29:33 1994  Radek Doulik  <rodo@RoDo-Station>
  5977.  
  5978.     * chmod.c: bug fix - bad call of chmod_init
  5979.  
  5980.     * mc.1: chmod command documentation wrote.
  5981.  
  5982. Wed Dec  7 21:40:04 1994  Radek Doulik  <rodo@RoDo-Station>
  5983.  
  5984.     * chown.c: continue working on this stuff, now we have first
  5985.     working version - I have found a bug in chmod, try to catch this bug 
  5986.  
  5987. Wed Dec  7 20:43:17 1994  Miguel de Icaza  <miguel@sphinx>
  5988.  
  5989.     * widget.c (check_event, check_callback): Added mouse support to
  5990.     checkboxes. 
  5991.     (radio_event, radio_callback): Added mouse support to radio buttons.
  5992.  
  5993. Wed Dec  7 20:23:52 1994  Massimo Fontanelli <MC8737@mclink.it>
  5994.  
  5995.     * find.c: Some changes to use static arrays instead of dynamically
  5996.     allocated arrays.  We will use this code while we fix the find
  5997.     command. 
  5998.  
  5999.     * mem.h: On AIX, use rindex.
  6000.  
  6001.     * gpm-xterm.c, key.c: On AIX, include sys/select.h
  6002.  
  6003. Wed Dec  7 20:20:27 1994  Dugan Porter <dugan@b011.eunet.es>
  6004.  
  6005.     * tree.c: Made internal functions static.
  6006.     
  6007.     (tree_append_entry): New function, which is just like
  6008.     tree_add_entry except that the entry always goes onto the end of
  6009.     the list. 
  6010.  
  6011.      I left out the initial consistency check for tree_last->next
  6012.      being NULL; there seem to be no bugs left in tree.c so I hope
  6013.      it's not necessary (touch wood)!
  6014.  
  6015.      I left out the final check that the parent dir is in the list,
  6016.      because I assume that a directory is never saved in .mc.tree
  6017.      without its parent being saved also.
  6018.  
  6019.      Removed all references to the "dotdir" variable, which doesn't
  6020.      seem to be used for anything.
  6021.  
  6022.      I changed abort() so it doesn't take an argument
  6023.  
  6024.      I made a few functions static that aren't called by any other
  6025.      source files, and don't seem likely to be in the future (e.g.
  6026.      back_ptr), to reduce namespace pollution.  (In fact, the decls
  6027.      for these functions could be left out of tree.h as well...)
  6028.  
  6029. Mon Dec  5 11:24:31 1994  Miguel de Icaza  <miguel@sphinx>
  6030.  
  6031.     * user.c (user_menu_cmd): Don't use the local directory menu file.
  6032.  
  6033.     * util.c (my_statfs): Moved the blocks2kilos and my_statfs from main.
  6034.  
  6035. Sun Dec  4 17:11:24 1994  Miguel de Icaza  <miguel@sphinx>
  6036.  
  6037.     * main.c (execute): Cosmetic change: don't use a space between
  6038.     prompt and command.
  6039.  
  6040.     * widget.c (listbox_draw): Now the cursor tracks the selection on
  6041.     listbox widgets.
  6042.  
  6043.     * main.c (execute): Output the prompt and the command to be executed.
  6044.  
  6045.     * input.c (forward_word): Allow skipping over punctuation chars.
  6046.     
  6047.     * mc.1: updated documentation on key bindings.
  6048.  
  6049.     * user.c (user_menu_cmd): Get rid of the old menuing code.
  6050.  
  6051.     * chmod.c (chmod_cmd): Fixed a couple of function spelling errors
  6052.         :-).
  6053.  
  6054. Sun Dec  4 10:28:46 1994  Radek Doulik  <rodo@RoDo-Station>
  6055.  
  6056.     * chmod.h: next_file, stat_file make available for chown.c
  6057.  
  6058.     * chmod.c: not alloc memory for sf_stat - use local variable staying
  6059.     on the stack make some functions static.
  6060.  
  6061. Sat Dec  3 16:29:57 1994  Radek Doulik  <rodo@RoDo-Station>
  6062.  
  6063.     * new files: chown.h, chown.c - New ChOwn command for changing
  6064.     owner and group of file. This use new Listbox widget.
  6065.  
  6066.     * chmod.c: rewritten, implement new features supposed by Miguel,
  6067.     these are [ Set marked ] [ Clear marked ], 
  6068.         when only one file to proceed - only [ Set ] and [ Cancel ] displayed
  6069.  
  6070. Sun Dec  4 16:29:22 1994  Miguel de Icaza  <miguel@sphinx>
  6071.  
  6072.     * main.c (do_nc): The prompt is set according to the EUID.
  6073.     (ext_cmd, menu_edit_cmd): Use the EUID instead of the UID.
  6074.  
  6075. Sun Dec  4 16:20:21 1994  Thomas Pundt <pundtt@math.uni-muenster.de>
  6076.  
  6077.     * win.c (push_fkeys, pop_fkeys): push null mouse events so that we
  6078.     don't get the previous behavior from the mouse events when
  6079.     entering/leaving a new mode (This fixes this bug: View file, click
  6080.     on F9, you get the pull down menu from the inside of the viewer).
  6081.  
  6082. Fri Dec  2 13:39:34 1994  Janne Kukonlehto  <jtklehto@stekt8>
  6083.  
  6084.     * Makefile.in: Added cons.handler.c to SRCS and cons.handler.o to
  6085.     OBJS.
  6086.  
  6087.     * TODO: Removed obsolete entries: regular expressions in extension
  6088.     file are now implemented and the cons.saver now supports Linux
  6089.     1.1.67. Fixed a typo.
  6090.  
  6091.     * cons.handler.c: A new file which includes the handle_console
  6092.     function from main.c. This should make it easier to include
  6093.     cons.saver functionality to other programs.
  6094.  
  6095.     * cons.saver.c: A title line change: Not MC specific anymore.
  6096.  
  6097.     * cons.saver.h: Added prototypes for the handle_console function
  6098.     and the console_flag variable in the cons.handler.c.
  6099.  
  6100.     * ext.c (regex_command): Now supports regular expressions in the
  6101.     extension file.
  6102.  
  6103.     * input.c (assign_text): Now global function instead of static
  6104.     (required by the history_cmd function in main.c).
  6105.  
  6106.     * main.c: Includes dlg.h, widget.h and listbox.h. New struct
  6107.     hotlist. The handle_console function moved to the new
  6108.     cons.handler.c file.
  6109.  
  6110.     (move_left, move_right): If the tree view is active the left and
  6111.     right move to parent and child directory even in the old
  6112.     navigation mode.
  6113.  
  6114.     (history_cmd): A new function which implements command history popup.
  6115.  
  6116.     (add2hotlist, load_hotlist, save_hotlist): New functions for the
  6117.     directory hotlist feature.
  6118.  
  6119.     (add2hotlist_cmd): A new function which adds current directory to
  6120.     the directory hotlist.
  6121.  
  6122.     (quick_chdir): Now shows a directory hotlist popup instead of
  6123.     builtin choices.
  6124.  
  6125.     (CmdMenu): Added "command History", "Add to hotlist" and
  6126.     "Directory hotlist".
  6127.  
  6128.     (copy_prog_name, copy_other_prog_name, copy_other_pathname):
  6129.     Better support for tree view mode.
  6130.  
  6131.     (do_nc): Now loads and saves the directory hotlist.
  6132.  
  6133.     * mc.1 (Directory Panels): Updated meaning of
  6134.     control-backslash. (Command Menu): Documented "Command history",
  6135.     "Add to hotlist" and "Directory hotlist". (Extension File Edit):
  6136.     Documented support for regular expressions. (Menu File Edit):
  6137.     Cleared up the explanation for <pattern> in the Default conditions
  6138.     part. (FILES): Added $HOME/.mc.tree and $HOME/.mc.hotlist.
  6139.  
  6140.     * setup.c: Now includes tree.h. (options): Added option
  6141.     tree_navigation_flag.
  6142.  
  6143.     * tree.c (move_to_child): Now rescans directory before moving to
  6144.     its child.
  6145.  
  6146. Thu Dec  1 15:49:39 1994  Miguel de Icaza  <miguel@sphinx>
  6147.  
  6148.     * main.c (ext_cmd): If running as root, let the user edit the
  6149.     system wide extension file or the user file.
  6150.  
  6151.     * input.c: Support for M-C-Backspace
  6152.  
  6153.     * key.c (mi_getch): Support for M-C-h and M-Backspace
  6154.  
  6155.     * listbox.c (create_listbox_window): New argument: help context.
  6156.  
  6157.     * user.c (user_menu_cmd): Set the correct help context.
  6158.  
  6159. Thu Dec  1 15:49:39 1994  Massimo Fontanelli <MC8737@mclink.it>
  6160.  
  6161.     * chmod.c: _AIX also needs the umode_t define.
  6162.  
  6163. Thu Dec  1 15:30:09 1994  Dugan O. Porter  <dugan@b011.eunet.es>
  6164.  
  6165.     * dialog.c (create_dialog): Center correctly the dialog titles.
  6166.  
  6167.     * main.c (copy_cmd): Removed extra spaces from strings.
  6168.  
  6169. Wed Nov 30 11:21:34 1994  Janne Kukonlehto  <jtklehto@stekt8>
  6170.  
  6171.     * cons.saver.c: The actual console saving and restoring code put
  6172.     to their own functions save_console and restore_console. Now uses
  6173.     ioctl TIOCLINUX subfunctions 8 and 9 if Linux version is >=
  6174.     1.1.67. Added some comments and more debugging output.
  6175.  
  6176.     * main.c (paint_info_panel): Uses the new is_idle function to skip
  6177.     painting if there is no time.
  6178.  
  6179.     * util.c, util.h: Added a new is_idle function. Most of its code
  6180.     is originates from view.c (do_view).
  6181.  
  6182.     * view.c: No need to include <sys/time.h> anymore. (goto_line):
  6183.     Now shows the current line number when asking the new line
  6184.     number. (do_view): Now uses the new is_idle function instead of
  6185.     the old select trickery. The automatic adjusting of the dirt_limit
  6186.     variable in pace of incoming keypresses is more precise now.
  6187.  
  6188.     * chmod.c: The umode_t type is not defined on Solaris.
  6189.  
  6190. Tue Nov 29 15:54:13 1994  Miguel de Icaza  <miguel@sphinx>
  6191.  
  6192.     * color.c (init_colors): Start colors only if the user requested
  6193.     so (if use_colors instead of if hascolors).
  6194.  
  6195.     * user.c (user_menu_cmd): Removed test that didn't let us use more
  6196.     that LINES-6 menu entries.
  6197.  
  6198.     * terminfo/xterm.ti: The reset option on xterm_color uses the
  6199.     cancel escape sequence instead of setting an arbitrary color.
  6200.  
  6201.     * dlg.c (run_dlg): Many changes so that all dialog callback
  6202.     functions get the extra Dlg_head * parameter.
  6203.  
  6204.     * dialog.c (push_refresh, do_refresh): Refresh functions now can
  6205.     take an extra parameter that is passed when a refresh is required.
  6206.     Changed in all the refresh functions in the program.
  6207.  
  6208.     * dlg.c (dialog_handle_key): Added support for repainting the
  6209.     screen.
  6210.  
  6211.     (dlg_broadcast_msg): New function to send a message to all the widgets.
  6212.  
  6213.     * option.c (configure_callback): New: painting the widget is done
  6214.     in the dialog callback (Message DLG_DRAW).
  6215.  
  6216.     * dlg.c (dialog_handle_key), dlg.h: Added support for context
  6217.         sensitive help.
  6218.  
  6219. Tue Nov 29 14:37:49 1994  Radek Doulik <rodo@earn.cvut.cz>
  6220.  
  6221.     * chmod.c: updated, attribute setting/clearing has changed.  No
  6222.     ChangeLog entries yet.
  6223.  
  6224. Tue Nov 29 14:17:40 1994  Miguel de Icaza  <miguel@sphinx>
  6225.  
  6226.     * user.c (user_menu_cmd): Fix: select the default entry
  6227.  
  6228.     * main.c (main): Fix: other dir argument is now used instead of the
  6229.     value from the init file.
  6230.  
  6231. Tue Nov 29 13:47:52 1994  Janne Kukonlehto  <jtklehto@stekt8>
  6232.  
  6233.     * mc.1: Updated: Save Setup is now under the Options menu, not the
  6234.     Commands menu. The old text of Options section moved to new
  6235.     Configuration section. The Undocumented Features section renamed
  6236.     to Special Settings section. All settings which can't be changed
  6237.     from the menus moved to the Special Settings section.
  6238.  
  6239.     * ChangeLog, INSTALL, INSTALL.FAST, NEWS, README, TODO, mc.1: Ran
  6240.     through ispell and corrected spelling errors (there was no errors
  6241.     in the INSTALL.FAST file). 
  6242.  
  6243.     * cons.saver.c (main): Now correctly loses the control terminal
  6244.     (by calling setpgrp). Added some comments.
  6245.  
  6246.     * screen.c (display_mini_info): No longer reports <readlink
  6247.     failed> if current directory is different than panel->cwd.
  6248.  
  6249. Mon Nov 28 13:45:48 1994  Miguel de Icaza  <miguel@sphinx>
  6250.  
  6251.     * listbox.c (run_listbox): Do proper shutdown of window.
  6252.  
  6253.     * gc.c: deleted.
  6254.  
  6255.     * view.c (load_view_file): Use free instead of gc_free.
  6256.  
  6257.     * user.c (user_menu_cmd): Use free instead of gc_free.
  6258.  
  6259.     * tree.c (do_tree_check, load_tree, save_tree): Use free instead of gc_free.
  6260.  
  6261.     * setup.c (load_setup): don't uses free anymore.
  6262.  
  6263.     * main.c (action, enter, view_cmd, do_edit, ext_cmd,
  6264.         menu_edit_cmd): don't use gc_free, gc_free_now.
  6265.  
  6266.     * util.c (copy_strings): Don't use the gc_* functions any more,
  6267.     uses standard malloc.
  6268.  
  6269.     * file.c (recursive_erase, copy_dir_dir, move_file, move_dir_dir,
  6270.     erase_dir): don't use gc_free, gc_free_now.
  6271.  
  6272.     * configure.in (LDFLAGS): Fix: Do not set DEFS manually, use
  6273.     AC_DEFINE, this fixes the problem with selecting group of files in
  6274.     Solaris.
  6275.  
  6276.     * widget.c (listbox_callback): Return the handled/unhandled return
  6277.     code on WIDGET_KEY so we can finish the dialog.
  6278.  
  6279.     (listbox_select_entry): Return after finding the entry; advance
  6280.     the top selection only if the selected item is outside the visual
  6281.         area.
  6282.  
  6283. Sun Nov 27 16:55:13 1994  Miguel de Icaza  <miguel@sphinx>
  6284.  
  6285.     * widget.c (listbox_callback, listbox_key, listbox_cdiff,
  6286.     listbox_append_item, listbox_add_item): Implemented the listbox
  6287.     widget.
  6288.  
  6289.     * listbox.c (create_listbox_window, run_listbox): Creates a
  6290.     listbox window, this function uses the dialog manager and the
  6291.     listbox widget.  run_listbox is used to run the simple listbox
  6292.     objects. 
  6293.  
  6294.     * user.c (user_menu_cmd): Now the menu uses copy_strings instead
  6295.     of the static buffer.
  6296.  
  6297.     (user_menu_cmd): Use the new listbox manager instead of the old
  6298.     menuing code. 
  6299.  
  6300.     * option.c: Made local variables static.
  6301.  
  6302. Fri Nov 25 12:16:05 1994  Miguel de Icaza  <miguel@sphinx>
  6303.  
  6304.     * util.c (find_mountpoint, find_device): Moved from main.
  6305.  
  6306.     * ncurses.h (USE_BSD_CURSES): Changes to let the program compile
  6307.     without ncurses, this is not working yet.
  6308.  
  6309.     * configure.in (XCURSES): Allow for configuration of the program
  6310.     with bsd curses instead of ncurses, not very nice.
  6311.  
  6312.     * xcurses.c (x_getch): New function: used to implement the missing
  6313.     ungetch in the bsd curses.
  6314.  
  6315.     * key.c, main.c: use xgetch instead of getch.  with ncurses xgetch
  6316.     is defined as getch, with bsd curses xgetch is defined as x_getch.
  6317.  
  6318.     * main.c (my_statfs): Don't set the volname attribute, it no
  6319.     longer exists.
  6320.  
  6321. Fri Nov 25 16:14:50 1994  Radek Doulik  <rodo@RoDo-Station>
  6322.  
  6323.     * dlg.c (dlg_one_up): remove send msg WIDGET_DRAW, I don't know
  6324.     why it was here, but it causes check buttons doesn't work properly
  6325.  
  6326.     * chmod.c: [Mark all] now works with no file selected 
  6327.  
  6328. Thu Nov 24 13:18:42 1994  Miguel de Icaza  <miguel@sphinx>
  6329.  
  6330.     * main.c (view_cmd): If you have tagged files, and press F3 and
  6331.     have the new confirm_view_dir variable set, then you are asked for
  6332.     confirmation. 
  6333.  
  6334. Thu Nov 24 13:39:34 1994  Janne Kukonlehto  <jtklehto@stekt8>
  6335.  
  6336.     * main.c (change_labels): F4 is now "Navig" in the tree mode. F5
  6337.     and F6 are no longer cleared.
  6338.  
  6339.     (move_left, move_right): Now support the new tree navigation mode.
  6340.  
  6341.     (key_f4_cmd): A new function. Toggles the navigation mode in the
  6342.     tree view mode and invokes the edit command otherwise. 
  6343.  
  6344.     (copy_cmd, ren_cmd): Now work also in the tree view mode.
  6345.  
  6346.     (init_labels): F4 corresponds to key_f4_cmd, not to edit_cmd.
  6347.  
  6348.     * main.h: Added declaration of the cmd_buf variable.
  6349.  
  6350.     * mc.1 (Directory Tree): Documented the new features: Navig, Copy
  6351.     and RenMov.
  6352.  
  6353.     * tree.c: A new global variable: tree_navigation_flag, which is
  6354.     used for toggling between the new navigation mode and the old
  6355.     navigation mode.
  6356.  
  6357.     (whereis): Now returns NULL if not found, not the closest
  6358.     match. Added some speed enhancements which are currently commented
  6359.     out because they don't work yet.
  6360.  
  6361.     (tree_add_entry): Added some speed enhancements which are
  6362.     currently commented out because they don't work yet. After adding
  6363.     an entry now tries to add the parent directory of the entry, too.
  6364.  
  6365.     (tree_remove_entry, start_tree_check, tree_chdir): Changes related
  6366.     to the new behaviour of the whereis function.
  6367.  
  6368.     (show_tree, tree_move_backward, tree_move_forward): Now support
  6369.     the new navigation mode.
  6370.  
  6371.     (tree_move_to_child, tree_move_to_parent): New functions.
  6372.  
  6373.     (tree_event): Mouse doesn't work in the new navigation mode yet.
  6374.  
  6375.     (toggle_nav_mode, tree_copy, copy_cmd, tree_move, move_cmd): New
  6376.     functions.
  6377.  
  6378.     (win_init): The F4, F5 and F6 keys work now.
  6379.  
  6380.     (tree): The left arrow moves to the parent directory and the right
  6381.     arrow moves to the child directory.
  6382.  
  6383.     * tree.h: Added tree_copy, tree_move, tree_move_to_parent,
  6384.     tree_move_to_child and tree_navigation_flag.
  6385.  
  6386. Wed Nov 23 12:24:11 1994  Miguel de Icaza  <miguel@sphinx>
  6387.  
  6388.     * main.c (suspend_cmd): After coming back from suspend, redraw the
  6389.     screen.
  6390.     (do_nc): Understands the LINES variable.
  6391.  
  6392. Wed Nov 23 14:51:16 1994  Janne Kukonlehto  <jtklehto@stekt8>
  6393.  
  6394.     * dlg.c: "#include <stdarg.h>" was still missing.
  6395.  
  6396.     * main.c (find_mountpoint, find_device): New
  6397.     functions. (my_statfs): Now uses the find_mountpoint and
  6398.     find_device functions. Now works to some degree also on machines
  6399.     which don't have statfs.
  6400.  
  6401.     (do_cd): Changed the condition under which the my_statfs function
  6402.     is called.
  6403.  
  6404.     (switch_to_info): The my_statfs function is now called always.
  6405.  
  6406.     (paint_info_panel): Some reorganization and changes.
  6407.  
  6408.     (do_search): The search can wrap now.
  6409.  
  6410.     (view_cmd): If trying to view a directory, now changes to the
  6411.     directory. Very handy if there is something on the command line and
  6412.     the enter key can't therefore be used.
  6413.  
  6414.     (delete_cmd): The confirm_delete option works now also in the tree
  6415.     view mode.
  6416.  
  6417.     (quick_chdir): Should now work in tree view mode. Not tested!
  6418.  
  6419.     * tree.c: Now includes the main.h file. (show_tree): Long
  6420.     directory names are now truncated. (search_tree): The search can
  6421.     wrap now. 
  6422.  
  6423.     (rmdir_cmd): The confirm_delete option works now. Added some
  6424.     chdir-tricks.
  6425.  
  6426. Tue Nov 22 15:21:59 1994  Miguel de Icaza  <miguel@sphinx>
  6427.  
  6428.     * auto.c (do_exec_mount): Little bug fix.
  6429.  
  6430.     * dlg.c (query_dialog_new): Changed: use stdarg.h instead of
  6431.     varargs.h, va_start takes two parameters.
  6432.  
  6433.     * widget.c (button_callback, button_event (new)): Mouse support
  6434.     for button widgets.
  6435.  
  6436.     * dlg.c (dlg_one_up): New function: use by the widgets to select
  6437.     themselves before sending a message to themselves, since they use
  6438.     the h->current value to determine exactly who they are.  Must
  6439.     change this so that Dlg_Head is never sent to a Widget, now we
  6440.     have the parent field that can be used to refer to the owner of
  6441.     the dialogs.
  6442.     (add_widget): Now, each widget knows the pointer to his parent.
  6443.  
  6444.     * main.c (do_nc): Ok, now slow terminals are those that run under
  6445.     9600 bauds.
  6446.  
  6447. Tue Nov 22 15:40:41 1994  Janne Kukonlehto  <jtklehto@stekt8>
  6448.  
  6449.     * dlg.c: Added missing "#include <varargs.h>". (query_dialog_new):
  6450.     The va_start macro only takes one parameter.
  6451.  
  6452.     * main.c (blocks2kilos): A new function. (my_statfs): The fs_stats
  6453.     variable is now static. The avail and total fields are now in
  6454.     kilobytes instead of bytes to avoid overflow. (paint_info_panel):
  6455.     The file name and the file system name are now passed through
  6456.     the name_trunc function. Sizes are passed through the
  6457.     wprint_bytesize function.
  6458.  
  6459.     * tree.c (tree_remove_entry, start_tree_check, do_tree_check,
  6460.     end_tree_check): The subdirectory check is correct now. For
  6461.     example, no longer thinks that /devices is a subdirectory of /dev.
  6462.  
  6463.     (show_tree): No longer segfaults when calculating the topsublevel
  6464.     variable if the tree is empty.
  6465.  
  6466.     (tree_forget_cmd): The old code replaced by a call to the
  6467.     tree_remove_entry function.
  6468.  
  6469.     * win.c (wprint_bytesize): A new function for printing file sizes
  6470.     etc.
  6471.  
  6472.     * win.h: Added wprint_bytesize.
  6473.  
  6474. Mon Nov 21 17:01:40 1994  Miguel de Icaza  <miguel@sphinx>
  6475.  
  6476.     * option.c: Added new options 8bit clean and automount to the
  6477.     option configuration dialog
  6478.  
  6479.     * chmod.c (chmod_file): Small bug fix, init the c_file variable.
  6480.  
  6481.     * main.c (do_cd): Added missing initialization of dirs_marked.
  6482.     (unmark_file): Added missing cleaning of dirs_marked.
  6483.  
  6484.     * dialog.c (input_dialog): Fixed problem with lines bigger than
  6485.     the initial string.
  6486.  
  6487.     * util.c (my_system): If user doesn't have a default shell, run
  6488.     the shell specified in the SHELL environment variable.
  6489.  
  6490.     * main.c (execute): Added missing endpwend.
  6491.  
  6492. Mon Nov 21 10:59:55 1994  Janne Kukonlehto  <jtklehto@stekt8>
  6493.  
  6494.     * file.c (recursive_erase): fixed bug, didn't call closedir.
  6495.  
  6496.     * main.c (reverse_selection): New function.
  6497.  
  6498. Fri Nov 18 11:43:01 1994  Miguel de Icaza  <miguel@sphinx>
  6499.  
  6500.     * main.c (update_panels, repaint_screen, swap_cmd): Correct order
  6501.         of redraw: First update the other_panel and then the current_panel.
  6502.  
  6503. Sat Nov 19 13:12:39 1994  Janne Kukonlehto  <jtklehto@stekt8>
  6504.  
  6505.     * INSTALL: Removed documentation for the --with-screen-restore
  6506.     option. Documented the 'make install.saver' command.
  6507.  
  6508.     * Makefile.in: Removed the prog_mode variable.
  6509.  
  6510.     * Configure.in: Removed the --with-screen-restore option as
  6511.     obsolete.
  6512.  
  6513.     * cons.saver.c (detect_console): Oops, I was checking the st_dev
  6514.     field instead of the st_rdev field. No wonder it didn't work on
  6515.     others' machines. (main): Some changes to help debugging.
  6516.  
  6517.     * input.c (destroy_input): Now also destroys the history.
  6518.  
  6519.     * mad.c (mad_alloc, mad_realloc): Now corrects the
  6520.     alignment. (mad_finalize): Outputs the memory leaks.
  6521.  
  6522.     * main.c (my_statfs, select_item, do_cd, paint_info_panel,
  6523.     switch_to_info): Now there is some information in the info panel.
  6524.  
  6525.     (handle_console): The standard error of the child is redirected to
  6526.     /dev/null.
  6527.  
  6528.     (done_panels, done_menu, do_nc): Clean up memory leaks.
  6529.  
  6530.     (action): Don't free NULL pointer.
  6531.  
  6532.     * mouse.c (init_mouse): Removed an extra push_frame.
  6533.  
  6534.     * profile.c (free_keys, free_sections, free_profile,
  6535.     free_profiles): Clean up memory leaks.
  6536.  
  6537.     * profile.h: Added free_profiles.
  6538.  
  6539.     * tree.c: Removed the base_dir variable as
  6540.     unnecessary. (destroy_tree): Cleans up memory leaks.
  6541.  
  6542.     * tree.h: Added destroy_tree.
  6543.  
  6544.     * ext.c (exec_extension), user.c (execute_menu_command): Oh no, I
  6545.     was using the dreadful goto command. Am I doomed now?
  6546.  
  6547.     * view.c (goto_line): Small fixes.
  6548.  
  6549. Sat Nov 19 20:10:08 1994  Radek Doulik  <rodo@RoDo-Station>
  6550.  
  6551.     * chmod.c (chmod_callback): fix the problem with 'M' key -
  6552.     replaced with 'T' key
  6553.  
  6554.     * widget.c: fix in hotkey code for unify 'LwrCase'='UpCase'
  6555.  
  6556.     * dlg.h: added DIR_FORWARD, DIR_BACKWARD - for dialog directions,
  6557.  
  6558.     * dlg.c: allow change direction of circling the widget buffer
  6559.     in order as they was inserted or reversed order (default)
  6560.  
  6561.     (std_callback)  use it as default callback does nothing,    
  6562.     
  6563.     (query_dlg_new) prepared to replace query_dlg function with this new
  6564.     one using new dialog manager (after adding mouse support)
  6565.  
  6566. Thu Nov 17 15:23:24 1994  Miguel de Icaza  <miguel@sphinx>
  6567.  
  6568.     * color.c (configure_colors), setup.c (load_setup): New colors per
  6569.     terminal 
  6570.  
  6571. Thu Nov 17 15:01:40 1994  Janne Kukonlehto  <jtklehto@stekt8>
  6572.  
  6573.     * tree.c (do_tree_check): Fixed bug.
  6574.  
  6575. Thu Nov 17 17:27:00 1994  Radek Doulik  <rodo@RoDo-Station>
  6576.  
  6577.     * widget.c widget.h: add hot key support to button 
  6578.         and check button, change in call button_new, check_new
  6579.  
  6580.     * dlg.c dlg.h: add dialog custom colors, support hot keys
  6581.     new WIDGET_HOTKEY message, change in call dlg_new
  6582.  
  6583.     * option.c chmod.c: updated to use custom colors and hot keys
  6584.  
  6585. Thu Nov 17 13:18:28 1994  Janne Kukonlehto  <jtklehto@stekt8>
  6586.  
  6587.     * Makefile.in: Added mad.c to SRCS. Added mad.h to HDRS. Added
  6588.     mad.o to OBJS.
  6589.  
  6590.     * auto.c: Changed the title.
  6591.  
  6592.     * All the *.c files but the cons.saver.c and man2hlp.c file: Now
  6593.     include the mad.h file.
  6594.  
  6595.     * mad.c, mad.h: New files which implement the Memory Allocation
  6596.     Debugging system.
  6597.  
  6598.     * main.c (main): Now calls the mad_finalize function as the last
  6599.     thing before exit.
  6600.  
  6601.     * mc.1 (Menu File Edit): Now documents the 't' type. (Macro
  6602.     Substitution): Now documents the %u and %U macros. (AUTHORS):
  6603.     Fixed a small typing mistake.
  6604.  
  6605.     * mc.menu: Documented the 't' type and the %t, %T, %u and %U
  6606.         macros.
  6607.  
  6608.     * tree.c: (back_ptr, forw_ptr, show_tree): Now work better if the
  6609.     selected_ptr variable happens to be NULL (it is NULL only if
  6610.     the whole tree deleted with the 'forget' or 'delete' command).
  6611.  
  6612.     * user.c (expand_format): Now supports the %u and %U
  6613.     macros. (test_type): Now supports the 't' type.
  6614.  
  6615.     * util.c (xmalloc), util.h (xmalloc): The xmalloc function is
  6616.         compiled only if the MAD system is not used.
  6617.  
  6618.     * view.c (goto_line): A new function to go to the specified
  6619.     line. (init_view): Binds the goto_line function to the f5 key.
  6620.  
  6621. Wed Nov 16 14:47:59 1994  Janne Kukonlehto  <jtklehto@stekt8>
  6622.  
  6623.     * dir.c (set_zero_dir): When assigning to the fname field, use
  6624.     strdup instead of a static constant.
  6625.  
  6626. Wed Nov 16 09:52:36 1994  Miguel de Icaza  <miguel@sphinx>
  6627.  
  6628.     * util.c (tilde_expand): Doesn't use gc_alloc anymore.
  6629.  
  6630.     * dialog.c (input_expand_dialog): Adapted to use the new
  6631.     tilde_expand without using the gc.
  6632.  
  6633.     * find.c (find_dialog): Remember the last searched expression.
  6634.  
  6635. Tue Nov 15 15:52:28 1994  Fred Leeflang <fredl@nebula.ow.org>
  6636.  
  6637.     * main.c: copying multiple files to an unexisting dest will now treat
  6638.     dest as a directory, create it for you and copy the files/dirs
  6639.     there. copying dirs/files to an unexisting dir now actually works.
  6640.  
  6641. Tue Nov 15 11:40:42 1994  Janne Kukonlehto  <jtklehto@stekt8>
  6642.  
  6643.     * ext.c (exec_extension), user.c (execute_menu_command): Now
  6644.     support the %{...} macro.
  6645.  
  6646.     * input.h: Changed the definition of the XCTRL macro.
  6647.  
  6648.     * main.c (do_search, start_search, do_nc): Searches start from the
  6649.     current point, not from the beginning. Pressing C-s again searches
  6650.     the next match.
  6651.  
  6652.     (mask_ren_cmd): A new function which implements the mask rename.
  6653.  
  6654.     (compare_dir, compare_dirs): New functions which implement the
  6655.     Compare Directories command.
  6656.  
  6657.     (quick_chdir): A new function which implements the changing of
  6658.     the directory to the home or the root on the C-\ press.
  6659.  
  6660.     * mc.1 (Directory Panels): Documented the C-\ key. Mentioned that
  6661.     C-s can be used to search again. (File Menu): Documented the Mask
  6662.     Rename command. (Command Menu): Documented the Compare Directories
  6663.     command. Replaced "View other screen" with "Panels
  6664.     on/off". (Directory Tree): Removed some out of date
  6665.     remarks. (Macro Substitution): Documented the %{...} macro.
  6666.  
  6667.     * mc.menu: Changed the K-entry to use the %{...} macro.
  6668.  
  6669.     * tree.c (search_tree): The focus is now checked at the correct
  6670.     moment.
  6671.  
  6672. Mon Nov 14 09:28:20 1994  Miguel de Icaza  <miguel@sphinx>
  6673.  
  6674.     * gpm-xterm.c: passed the source trough indent -pcs -kr
  6675.  
  6676.     * screen.c (string_file_type, string_file_permission,
  6677.     string_file_nlinks, string_file_owner, string_file_group,
  6678.     string_file_size, string_file_mtime, string_file_atime,
  6679.     string_file_ctime, string_file_name): New functions, to be used by
  6680.     the new user configurable screen display.
  6681.  
  6682.     * main.c (long_cmd): New behavior: allow user to have long panels
  6683.     mixed with normal panels, there is a little flicker produced by
  6684.     the new behavior but is not that bad.
  6685.  
  6686.     (init_panels): Update the panels in this order: opanel, cpanel, to
  6687.     remove some flicker.
  6688.  
  6689.     (only_refresh_screen): Refresh screen in this order: opanel,
  6690.     cpanel to avoid some flicker
  6691.  
  6692.     (untouch_bar): Changed the order of refresh.
  6693.  
  6694.     (execute): If running on the console (and cons.saver is running),
  6695.     then don't ask for a keystroke after executing a command.
  6696.  
  6697.     * user.c (menu_input_loop): Upper case letters and lower case
  6698.     letters are different
  6699.  
  6700.     * file.c (recursive_erase): Leave directory ".." alone.
  6701.  
  6702. Mon Nov 14 14:36:12 1994  Janne Kukonlehto  <jtklehto@stekt8>
  6703.  
  6704.     * dialog.c (input_dialog), find.c (input_find, do_load_find_menu,
  6705.     find_dialog), main.c (copy_cmd), menu.c (get_motion), user.c
  6706.     (menu_input_loop): Now you can cancel with both ESC and F10. Use
  6707.     of F10 gets rid of the slight delay after an ESC press.
  6708.  
  6709.     * file.c (erase_file, erase_dir): Now the error messages tell what
  6710.     the MC was trying to erase. The recursive delete now works also on
  6711.     Solaris which uses error number EEXIST instead of ENOTEMPTY.
  6712.  
  6713.     * help.c: The quit variable is now file wide static instead of
  6714.     function wide auto. New functions: help_cmd, index_cmd,
  6715.     quit_cmd. (interactive_display): The function key labels now work
  6716.     with mouse.
  6717.  
  6718.     * main.c (change_labels): A new function to change the function
  6719.     key labels when changing to the tree view mode and
  6720.     back. (change_panel, tree_leave, tree_view_cmd): Now call the
  6721.     change_labels function.
  6722.  
  6723.     (panel_event): Now works more often when in the tree view mode.
  6724.  
  6725.     (key_f2_cmd, key_f3_cmd): New functions which select the correct
  6726.     action depending on whether the tree view mode is active.
  6727.  
  6728.     (delete_cmd): Now behaves better when deleting the directories in
  6729.     the tree view mode.
  6730.  
  6731.     (tree_cmd): Now behaves better when the tree view mode is active.
  6732.  
  6733.     (init_labels): The user_menu_cmd and view_cmd functions replaced
  6734.     with the key_f2_cmd and key_f3_cmd functions.
  6735.  
  6736.     * mc.1 (Directory Tree): Small changes in the wording. Now up to
  6737.     date with new features. (Menu File Edit): Now up to date with the
  6738.     new behaviour and features.
  6739.  
  6740.     * mc.menu: Now up to date with the new behaviour and features of
  6741.     the user menu condition feature.
  6742.  
  6743.     * screen.c (display_mini_info): Simplified the way how the search
  6744.     string is output.
  6745.  
  6746.     * tree.c: The tree_entry structure is now defined in the tree.h
  6747.     file. The top and selected variables deleted as unnecessary. New
  6748.     variables: topdiff and check_sublevel. The variables check_name
  6749.     and check_start are now static. New functions: back_ptr, forw_ptr,
  6750.     win_init, win_done.
  6751.  
  6752.     (tree_add_entry): Now return a pointer to the added entry. The
  6753.     mark field is cleared.
  6754.  
  6755.     (remove_entry): If removing the selected entry selects the next or
  6756.     previous entry so that there will always be an existing selected
  6757.         entry.
  6758.  
  6759.     (tree_remove_entry): Removes the whole subtree instead of just one
  6760.     directory.
  6761.  
  6762.     (start_tree_check, do_tree_check, end_tree_check): Now using the
  6763.     mark field. A lot of other miscellaneous changes. Should be working
  6764.     correctly now (no orphan directories anymore).
  6765.  
  6766.     (show_tree, tree_move_backward, tree_move_forward,
  6767.     tree_move_to_top, tree_move_to_bottom, tree_init, tree_event,
  6768.     search_tree): Now using the selected_ptr and topdiff variables
  6769.     instead of the old selected and top variables.
  6770.  
  6771.     (check_focus): Simplified.
  6772.  
  6773.     (tree_chdir): Now uses the whereis function.
  6774.  
  6775.     (help_cmd, tree_rescan_cmd, tree_mkdir_cmd, rmdir_cmd): Now using
  6776.     the win_init and win_done functions.
  6777.  
  6778.     (tree_forget_cmd): Now forgets the whole subtree instead of just
  6779.     one directory.
  6780.  
  6781.     (tree.c): Now using the win_init and win_done functions.
  6782.  
  6783.     tree.h: The tree_entry structure is now defined here. Added the
  6784.     mark field to the tree_entry structure. Added the tree_forget_cmd
  6785.     function.
  6786.  
  6787.     user.c: Divided the conditions to two subtypes: the default
  6788.     conditions and the addition conditions. The addition conditions
  6789.     behave like the old conditions. The default conditions can be used
  6790.     for specifying the default menu entry. See the manual page.
  6791.  
  6792.     * ChangeLog: Replaced the occurrences of the Finnish word 'Ups'
  6793.     with the corresponding English word 'Oops'.
  6794.  
  6795. Sun Nov 13 09:53:30 1994  Radek Doulik  <rodo@RoDo-Station>
  6796.  
  6797.     * chmod.c (chmod_file): change getting owner and group name using
  6798.     functions in util.c, change length of printed strings
  6799.  
  6800. Sat Nov 12 15:34:50 1994  Miguel de Icaza  <miguel@sphinx>
  6801.  
  6802.     * file.c (erase_dir): Fixed bug that was deleting directories even
  6803.     if the user selected the no option.
  6804.  
  6805.     * main.c (delete_cmd): Added recursive delete on tagged directories
  6806.  
  6807.     * file.c (recursive_erase): Use lstat instead of stat for checking
  6808.     the file information.
  6809.  
  6810. Thu Nov 10 23:37:04 1994  Miguel de Icaza  <miguel@sphinx>
  6811.  
  6812.     * mouse.c (push_event): new parameter: options, currently accepts
  6813.     event_absolute and event_use_frame.
  6814.  
  6815.     * dialog.c, help.c, main.c, menu.c, tree.c, view.c: when calling
  6816.     push_event specify event_use_frame.
  6817.  
  6818.     * win.c (define_label, define_label_quit): use event_absolute to
  6819.     define the mouse bindings.
  6820.  
  6821. Thu Nov 10 13:21:50 1994  Janne Kukonlehto  <jtklehto@stekt8>
  6822.  
  6823.     * dir.c (handle_dirent, do_load_dir, do_reload_dir): Added calls
  6824.     to the start_tree_check, do_tree_check and end_tree_check
  6825.     functions to achieve transparent tree update.
  6826.  
  6827.     * help.c (interactive_display): Now shows a function key bar of
  6828.     its own.
  6829.  
  6830.     * main.c (action): Now uses cpanel->cwd instead of a tree_selected
  6831.     call.
  6832.  
  6833.     (enter): Typing 'cd' commands on the command line now works also
  6834.     if the current panel is in the tree view mode.
  6835.  
  6836.     (delete_cmd): Now works in the tree view mode.
  6837.  
  6838.     (tree_cmd): Now works even if the tree view is already active,
  6839.     just doesn't change directory in such case.
  6840.  
  6841.     (tree_leave): A new function which is called when leaving the tree
  6842.     view mode. Tries to chdir to the last selected directory.
  6843.  
  6844.     (full_cmd, brief_cmd, info_cmd, long_cmd): Now using tree_leave
  6845.     instead of tree_done.
  6846.  
  6847.     (tree_view_cmd): Now uses tree_leave instead of tree_done. The
  6848.     tree_init call takes one parameter more. No need to initialize
  6849.     wtree variable yet. Clears the file entry list (calls
  6850.     set_zero_dir).
  6851.  
  6852.     (do_nc): Now uses the load_tree and save_tree functions to load
  6853.     the .mc.tree file on startup and save it on exit. Removed the old
  6854.     tree_init method of loading the tree.
  6855.  
  6856.     mc.1: The directory tree section is now up to date with the new
  6857.     features and behaviour.
  6858.  
  6859.     screen.c (display_mini_info): Added a missing wattrset. Now uses
  6860.     panel->cwd instead of the tree_selected call.
  6861.  
  6862.     (panel_reload): Works again in the tree view mode.
  6863.  
  6864.     tree.c: Uses now double linked list instead of single linked
  6865.     list. The tree_list variable renamed to tree_first. New static
  6866.     variables: tree_last, fkeys, check_name and check_start. The wtree
  6867.     variable is now static instead of global. Function removed as
  6868.     unnecessary: free_tree, read_tree, tree_selected. New functions:
  6869.     str_common, whereis, tree_add_entry, remove_entry,
  6870.     tree_remove_entry, start_tree_check, do_tree_check,
  6871.     end_tree_check, load_tree, save_tree, tree_chdir, help_cmd,
  6872.     tree_rescan_cmd, forget_cmd, tree_mkdir_cmd, rmdir_cmd, quit_cmd.
  6873.  
  6874.     (show_tree): Small meaningless code cleaning. If in the tree view
  6875.     mode copies the name of selected directory to the panel->cwd
  6876.     variable. If the panel is active chdirs there.
  6877.  
  6878.     (check_focus): Now behaves correctly even if there is less entries
  6879.     in the tree than there are lines in tree window.
  6880.  
  6881.     (tree_init): Takes one parameter more which tells amount of lines
  6882.     in the window. No longer uses the base directory system. Tries to
  6883.     select the current directory from the tree.
  6884.  
  6885.     (tree_done): Now does nothing.
  6886.  
  6887.     (tree): Now shows and uses a function key bar of its own. Changed
  6888.     behaviour of the control-r key.
  6889.  
  6890.     tree.h: Changed the definition tree_init. Removed read_tree and
  6891.     tree_selected. Added load_tree, save_tree, tree_chdir,
  6892.     tree_rescan_cmd, tree_add_entry, tree_remove_entry,
  6893.     start_tree_check, do_tree_check, end_tree_check. Removed
  6894.     tree_count and tree_lines.
  6895.  
  6896.     view.c (help_cmd): Oops, the name of the 'Internal file viewer'
  6897.     section has changed.
  6898.  
  6899. Thu Nov 10 22:40:31 1994  Fred Leeflang <fredl@nebula.ow.org>
  6900.  
  6901.     * file.c (copy_dir_dir, move_dir_dir): new functions.
  6902.  
  6903.     * main.c (do_mark_file): allow directory marking.
  6904.     (copy_cmd): Implement directory copying.
  6905.     (ren_cmd): Implement directory moving.
  6906.     (select_cmd, unselect_cmd): Allow selection of directories, when
  6907.     there is a leading or trailing '/'.
  6908.     (screen.c, screen.h): Added dirs_marked variable to panel
  6909.     structure.
  6910.  
  6911.     * util.c (basename): new function: returns the base name of it's
  6912.     argument. 
  6913.  
  6914. Thu Nov 10 21:21:26 1994  Miguel de Icaza  <miguel@sphinx>
  6915.  
  6916.     * main.c (copy_tagged): Disable cmdline updating when inserting
  6917.     all those file names.
  6918.     (do_edit): Use copy_strings.
  6919.  
  6920.     * input.c (input_disable_update, input_disable_update): New
  6921.     routines:  they let the client code disable the screen updating
  6922.     when inserting characters.  Used to speed up long insertions like
  6923.     the copy all tagged files command.
  6924.     (stuff): Disable updating when stuffing characters.
  6925.  
  6926. Wed Nov  9 14:50:24 1994  Janne Kukonlehto  <jtklehto@stekt8>
  6927.  
  6928.     * cons.saver.c: Oops, forgot to initialize the action
  6929.     variable. Made it fail randomly.
  6930.  
  6931.     * cons.saver.h: Let's start commands from '1' instead of '\000' to
  6932.     make debugging easier.
  6933.  
  6934.     * main.c (do_nc): Now works also if the tree view has been
  6935.     specified in the setup file.
  6936.  
  6937.     * mc.1: Fixed a typing error in the .\"LINK" command in the
  6938.     Options section. Wrote the Directory Tree
  6939.     section.
  6940.  
  6941.     * tree.c (show_tree): Oops, forgot to initialize the x and y
  6942.     variables. Caused a deadlock when there was no entries in the tree
  6943.     and the tree view was active.
  6944.  
  6945.     (tree_selected): Now works correctly if the selected_ptr is
  6946.     NULL. No more segmentation faults.
  6947.  
  6948. Tue Nov  8 21:26:18 1994  Miguel de Icaza  <miguel@sphinx>
  6949.  
  6950.     * user.c (execute_menu_command): Now it frees the returned pointer
  6951.     from expand_format
  6952.     (expand_format): Added support for the '%t' flag.  This represents
  6953.     all the tagged files.
  6954.  
  6955.     * ext.c (exec_extension): Now must free the returned pointer from
  6956.     expand_format. 
  6957.  
  6958. Tue Nov  8 02:07:47 1994  Janne Kukonlehto  (jtklehto@stekt.oulu.fi)
  6959.  
  6960.     * Makefile.in: BINDIR now defined in the CPPFLAGS. Added
  6961.     cons.saver.h to the HDRS. Added cons.saver.c to the DISTFILES. No
  6962.     need for the prog_mode variable anymore. A new target:
  6963.     install.saver which installs the Linux console screen save/restore
  6964.     handler. The uninstall and clean targets now remove cons.saver.
  6965.  
  6966.     * cons.saver.c: A new file: Linux console screen save/restore
  6967.     handler. Most of the code was previously the child code in the
  6968.     main.c file, the handle_console function. See below what was
  6969.     removed from the main.c file.
  6970.  
  6971.     * cons.saver.h: A new file. Included by cons.saver.c and main.c.
  6972.     Defines the commands for cons.saver.
  6973.  
  6974.     * gindex.pl: If the length of a node name is zero output a newline
  6975.     on its place in the contents. This is used for dividing the help
  6976.     file into five parts.
  6977.  
  6978.     * help.c: A new static variable end_of_node which tells when the
  6979.     end of node is reached and shown. (move_forward): Refuses to move
  6980.     forward if the end_of_node variable is true. (show): Little
  6981.     meaningless code clean-up. Now sets the end_of_node variable.
  6982.  
  6983.     * main.c: Now includes the cons.saver.h file. The tty_getsize
  6984.     function removed. The tty_cursormove function removed.
  6985.     (handle_console): Console detection code removed. The child code
  6986.     removed. Now uses the cons.saver program for saving and restoring
  6987.     of the console screen. Security hole checks removed because the mc
  6988.     does not need to be setuid anymore. (main.c): Backward
  6989.     compatibility: gives up privileges in case someone installed the
  6990.     mc as setuid.
  6991.  
  6992.     * man2hlp.c (handle_command, handle_link, main): Now supports the
  6993.     new LINK2 link format.
  6994.  
  6995.     * mc.1: Reorganized and partially rewritten. Too many changes to
  6996.     list them all.
  6997.  
  6998.     * screen.c (reload_panel): No longer tries to reread tree. This
  6999.     will get rid of those long delays when tree view is active. Real
  7000.     fix will be introduced later.
  7001.  
  7002.     * xnc.hlp: The [Main] and [About] nodes combined into one [Main]
  7003.     node. The authors are now mentioned only in the mc.1 file which
  7004.     should help in keeping them up to date.
  7005.  
  7006. Tue Nov  8 14:09:23 1994 Leon Raadshooven<L.A.RoosvRaadshooven@research.ptt.nl>
  7007.  
  7008.     * color.c: Code cleanup
  7009.  
  7010. Tue Nov  8 13:12:12 1994  Mauricio Plaza  <mok@roxanne.nuclecu.unam.mx>
  7011.  
  7012.     * find.c (find_dialog): Choose the appropriate regexp depending on
  7013.     the easy_patterns setting.
  7014.  
  7015. Tue Nov  8 12:50:10 1994  Torben Fjerdingstad <tfj@olivia.ping.dk>
  7016.  
  7017.     * mc.ext: It defaults to view the file with $PAGER.  I have set
  7018.     LESSCHARSET=latin1 to tell my $PAGER, NOT to display binary files
  7019.     without a warning. 
  7020.  
  7021. Mon Nov  7 12:56:26 1994  Janne Kukonlehto  (jtklehto@stekt.oulu.fi)
  7022.  
  7023.     * Makefile.in (make install): Removed the 'if $(do_setuid) then'
  7024.     line which caused 'make install' to fail.
  7025.  
  7026.     * README: The sample menu file is mc.menu, not nc.ext.
  7027.  
  7028.     * help.c (move_forward2, move_backward2, move_forward,
  7029.     move_backward): The beginning of a line is just after newline, not
  7030.     just before it.
  7031.  
  7032.     (move_to_top, move_to_bottom): New functions which support moving
  7033.     to the top and bottom of a node. (null_fn): Deleted, no longer
  7034.     necessary.
  7035.  
  7036.     (follow_link): Added one space to the beginning of the error
  7037.     message.
  7038.  
  7039.     (select_next_link): No longer tries to be too clever for its own
  7040.     good.
  7041.  
  7042.     (show): Now uses 'switch - case' instead of 'if - else if - else
  7043.     if...'. Now supports alternate character set, output of the
  7044.     version number of the Midnight Commander and tab characters.
  7045.  
  7046.     (help_event): Now a click of the right mouse button moves to the
  7047.     previous node. A left click on the top or bottom frame line moves
  7048.     one pageful backward or forward.
  7049.  
  7050.     (interactive_display): The beginning of a line is just after
  7051.     newline, not just before it. Enlarged the mouse event area. Up and
  7052.     down arrows behave now like a mixture of old behaviour and the
  7053.     behaviour of the tab key (a bit like in Lynx). Old behaviour of up
  7054.     and down arrow is available by pressing C-p and C-n. Comment
  7055.     reorganization. Added 'n', 'p' and 'c' keys for moving to next,
  7056.     previous and contents node.
  7057.  
  7058.     * help.h: Defined codes for switching to the alternate character
  7059.     set, returning to the normal set and outputting of the version
  7060.     number. 
  7061.  
  7062.     * main.c (action.c): In the tree view: now it is able handle
  7063.     failure of the do_cd call correctly.
  7064.  
  7065.     (panel_event): When clicking above or below the directory listing
  7066.     now moves one pageful instead of one lineful.
  7067.  
  7068.     * mc.menu: Reorganized the comment lines to conform to the new
  7069.     comment feature. Documented the new comment feature and the new
  7070.     condition debug feature. Fixed a small bug in the condition
  7071.     preceding the 'X' entry.
  7072.  
  7073.     * tree.c: Added a lot of comments. 
  7074.  
  7075.     (show_tree): In the directory tree the mini-status line shows now
  7076.     the full name of directory if there is no search string. This is
  7077.     similar to the behaviour of the tree view feature.
  7078.  
  7079.     (check_focus): A new function which tries to keep the selected
  7080.     directory near the middle of the window.
  7081.  
  7082.     (tree_move_backward, tree_move_forward): Now using the check_focus
  7083.     function.
  7084.  
  7085.     (event_callback): Now moves one pageful backward or forward if the
  7086.     top or bottom frame line is clicked.
  7087.  
  7088.     (tree): Enlarged the mouse event area.
  7089.  
  7090.     * user.c: Two static variables debug_flag and debug_error for the
  7091.     implementation of debug output feature.
  7092.  
  7093.     (debug_out): A new function which takes care of all debug output
  7094.     handling.
  7095.  
  7096.     (test_type, test_condition, test_line): Now support the debug_out
  7097.     function.
  7098.  
  7099.     (test_condition): Fixed a small bug in the handling of the '!'
  7100.     operator.
  7101.  
  7102.     (user_menu_cmd): Now there can be real comments in the user menu.
  7103.  
  7104.     * xnc.hlp: Added a nice logo to the [Main] node. Full rewrite of
  7105.     the [Help] node. The 'General movement keys' link points to the
  7106.     new manual page which is not ready yet and therefore it is not
  7107.     working.
  7108.  
  7109. Sun Nov  6 20:28:28 1994  Miguel de Icaza  <miguel@sphinx>
  7110.  
  7111.     * Makefile.in (install): Thanks to Janne who pointed out this
  7112.     buglet, now we can install the software again.
  7113.  
  7114. Sun Nov  6 20:07:12 1994  Radek Doulik <rodo@earn.cvut.cz>
  7115.  
  7116.     * chmod.c, chmod.h: new files, implement the chmod command on a
  7117.     nice dialog box. Binded to the C-x c key.  We need to document
  7118.     this.  BTW, GNU indent -kr -pcs gives the approximate coding style
  7119.     of the commander.
  7120.  
  7121. Sun Nov  6 17:45:59 1994  Miguel de Icaza  <miguel@sphinx>
  7122.  
  7123.     * main.c (menu_display_cmd, menu_cmd, menu_last_selected_cmd):
  7124.     Added support for recalling last used menu entry, Torben will be
  7125.     happy.
  7126.     (prev_page, next_page): Changed to have the 1.1 behavior again
  7127.     (when moving, if possible, keep the selection at the same relative
  7128.     distance from the top_file).
  7129.  
  7130. Sat Nov  5 12:59:34 1994  Raadshooven <L.A.RoosvRaadshooven@research.ptt.nl>
  7131.  
  7132.     * main.c (main): Added support for loading colors from the Command
  7133.     line. 
  7134.  
  7135. Fri Nov  4 14:20:13 1994  Miguel de Icaza  <miguel@sphinx>
  7136.  
  7137.     * key.c (mi_getch): New default: on ncurses-1.8.6 we need to
  7138.     untouch the window (stdscr), made the default.
  7139.  
  7140.     * util.c: 
  7141.  
  7142. Fri Nov  4 14:16:08 1994  Janne Kukonlehto  <jtklehto@stekt.oulu.fi>
  7143.  
  7144.     * main.c (move_down, move_up, move_home, move_end, prev_page,
  7145.     next_page): Replaced the show_tree calls with paint_panel calls.
  7146.  
  7147.     (do_search): Now supports the tree view feature (meaning that the
  7148.     trees can now be searched).
  7149.  
  7150.     (start_search): Added a call to the display_mini_info function because
  7151.     it now behaves differently when searching.
  7152.  
  7153.     (panel_event): Now supports the tree view feature (meaning that the
  7154.     tree view feature has now mouse support).
  7155.  
  7156.     (tree_cmd): Now reports an error if one of the panels is in the tree
  7157.     view mode.
  7158.  
  7159.     (view_other_cmd): Changed error message to reflect the new name for
  7160.     the function.
  7161.  
  7162.     (tree_view_cmd): Only one of the panels can be in the tree view mode.
  7163.     Initialization of the tree_lines and tree_cols variables is no
  7164.     longer necessary.
  7165.  
  7166.     * main.h: Added the declarations of the searching and
  7167.     search_buffer variables so that the display_mini_info function in
  7168.     the screen.c file can use them.
  7169.  
  7170.     * panel.h: Added view_tree to the list of possible views.
  7171.  
  7172.     * screen.c: Now includes main.h.
  7173.  
  7174.     (display_mini_info): If the search mode is active the current search
  7175.     string is shown.
  7176.  
  7177.     (panel_reload): Now supports the tree view feature (meaning that
  7178.     ctrl-r works in the tree view mode).
  7179.  
  7180.     * tree.c: Added the submask field to the tree_entry
  7181.     structure. Deleted the tree_cols variable as unnecessary. Renamed
  7182.     the count variable to tree_count and made it global. Added the
  7183.     search_buffer variable. Made the done variable static instead of
  7184.     auto.
  7185.  
  7186.     (free_tree): The initialization of the top, selected, selected_ptr and
  7187.     tree_count variables is moved here.
  7188.  
  7189.     (read_tree): Now a global function. Added a call to the free_tree
  7190.     function to remove a possible old tree data and initialize some
  7191.     variables. The count/tree_count variable is no longer initialized
  7192.     here. Added the code for the submask field calculation.
  7193.  
  7194.     (show_tree): Now uses the submask field to decide whether a sub-branch
  7195.     is the last sub-branch of its parent-branch and what levels of
  7196.     parent-branches there are. This method creates the correct tree
  7197.     figure as long as there are no more than 32 levels of
  7198.     subdirectories (because of the submask field has only 32
  7199.     bits). Better support for working as a panel. Small cosmetic
  7200.     fixes. If working as a dialog now shows the current search string.
  7201.  
  7202.     (tree_init): The initialization of the top and selected variables
  7203.     moved away from here.
  7204.  
  7205.     (tree_event, event_callback): New functions which implement the mouse
  7206.     support.
  7207.  
  7208.     (search_tree): A new function which implements the tree search feature.
  7209.  
  7210.     (tree): The done variable moved away from here. Decreased the value of
  7211.     tree_lines from 18 to 16 so that there is room for the search box.
  7212.     The create_dialog call still allocates 18 lines. Added support for
  7213.     tree search feature. Added mouse support. The additional movement
  7214.     keys are longer allowed (because they are needed for the search
  7215.     feature). Changed the handling of the result variable. The 'r' key
  7216.     no longer rereads the tree (use ctrl-r instead).
  7217.  
  7218.     * tree.h: Added the declarations of the read_tree, tree_event and
  7219.     tree_count identifiers. Removed the tree_cols variable.
  7220.  
  7221. Fri Nov  4 10:55:43 1994  Miguel de Icaza  <miguel@sphinx>
  7222.  
  7223.     * widget.c (check_new): Split the dialog manager in dialog manager
  7224.     and widget implementation functions.
  7225.  
  7226.     * color.c (init_colors): Major reworking.  Now, we allow to switch
  7227.     back and forth from color and bw mode.
  7228.  
  7229. Fri Nov  4 10:04:19 1994  Raadshooven <L.A.RoosvRaadshooven@research.ptt.nl>
  7230.  
  7231.     * color.c: Added support to reconfigure colors via the
  7232.     MC_COLOR_TABLE environment variable.
  7233.  
  7234. Fri Nov  4 08:55:37 1994  Miguel de Icaza  (miguel@roxanne)
  7235.  
  7236.     * file.c (erase_dir): Forced use of 'yes' to recursively delete a
  7237.     subdirectory. 
  7238.  
  7239. Thu Nov  3 18:21:53 1994  Miguel de Icaza  <miguel@sphinx>
  7240.  
  7241.     * screen.c (display_mini_info): Prints the currently selected
  7242.     directory. 
  7243.  
  7244.     * main.c (tree_view_cmd): Little patch to allow 'Cancel' on the
  7245.     tree. 
  7246.     (select_item): Extra checking when using select_item
  7247.  
  7248. Thu Nov  3 18:03:09 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  7249.  
  7250.     * Makefile.in: Added tree.c to the SRCS, tree.h to the HDRS and
  7251.     tree.o to the OBJS. 
  7252.  
  7253.     * main.c (change_panel, move_down, move_up, move_home, move_end,
  7254.     prev_page, next_page, action, full_cmd, brief_cmd, info_cmd,
  7255.     long_cmd, check_menu_panel, copy_other_prog_name,
  7256.     copy_other_pathname, copy_other_tagged): Changes to support the
  7257.     tree view feature. 
  7258.  
  7259.     * (tree_cmd, tree_view_cmd): New functions for the directory tree
  7260.     and tree view features.
  7261.  
  7262.     * panel.h: Added view_tree to the enumeration of view types.
  7263.  
  7264.     * screen.c (display_mini_info, show_dir, paint_panel): Changes to
  7265.     support the tree view feature
  7266.  
  7267.     * setup.c (view_types, load_setup): Changes to support the tree
  7268.     view feature.
  7269.  
  7270.     * tree.c, tree.h: New files which implement the directory tree and
  7271.     tree view features.
  7272.  
  7273.     * user.c (expand_format, test_condition): Changes to support the
  7274.     tree view feature.
  7275.  
  7276. Wed Nov  2 18:32:12 1994  Miguel de Icaza  <miguel@sphinx>
  7277.  
  7278.     * dlg.c (input_new, input_callback, input_destroy): New widget,
  7279.     handles input lines when ran under the dialog manager.
  7280.  
  7281.     * find.c (add_list): Changed gc_free for gc_free_now.
  7282.  
  7283.     * main.c (move_selection): Initialized adjust.
  7284.     (do_re_sort): After setting selection, set the top_file field.
  7285.     Need to make sure I didn't forget any of this in the source code.
  7286.  
  7287. Wed Nov  2 16:14:18 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  7288.  
  7289.     * INSTALL: Changed the wording to reflect current version of
  7290.     console screen save/restore support.
  7291.  
  7292.     * README: Changed the wording to reflect the new name and the
  7293.     xterm mouse support. Small spelling fixes. Fixed the location of
  7294.     the latest alpha version.
  7295.  
  7296.     * configure.in: A bug fix in the --with-screen-restore
  7297.     option. This bug caused 'make install' to fail.
  7298.  
  7299.     dlg.c, option.c: A name change from MouseLess Commander to
  7300.     Midnight Commander.
  7301.  
  7302.     * file.c (copy_file_file): A small bug fix (replaced a
  7303.     bracket-pair with a parentheses-pair). This bug was detected by
  7304.     Irix compiler. 
  7305.  
  7306.     * main.c (handle_console): Corrected race-condition bug by making
  7307.     the parent to wait until the child gets its job done. Also two
  7308.     other small bug fixes. 
  7309.  
  7310.     * main.c (do_search): Now compatible with eight bit mode (again).
  7311.  
  7312.     * mc.menu: Documented the syntax of the new user menu condition
  7313.     feature. Added some examples how to use it.
  7314.  
  7315.     * user.c (extract_arg, test_type, test_condition, test_line): New
  7316.     functions which implement user menu condition feature.
  7317.     (user_menu_cmd): Some changes to support the user menu
  7318.     condition feature.
  7319.  
  7320.     * util.c (is_printable): A small bug fix (replaced '>' with '>=').
  7321.  
  7322.     * util.h: Added '#include <sys/types.h>'. Doesn't compile on
  7323.     Ultrix without this.
  7324.  
  7325. Wed Nov  2 15:57:07 1994  Radek Doulik <rodo@earn.cvut.cz>
  7326.  
  7327.     * option.c: Fixed problem with data type of check_options and
  7328.     XTRACT macro.
  7329.     (init_configure): Code cleanup, also destroys properly the new window.
  7330.  
  7331.     * view.c (do_view): Bug fix: delete the windows when leaving the
  7332.     module. 
  7333.  
  7334. Wed Nov  2 15:20:26 1994  Fred Leeflang <fredl@nebula.ow.org>
  7335.  
  7336.     * file.c (recursive_erase): Implemented recursive directory delete.
  7337.  
  7338. Mon Oct 31 21:42:15 1994  Miguel de Icaza  <miguel@sphinx>
  7339.  
  7340.     * dlg.h, dlg.c, option.c: Many structural changes to the dialog
  7341.     manager to allow easy integration of future widgets.
  7342.  
  7343. Mon Oct 31 21:32:37 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  7344.  
  7345.     * view.c (display): Now supports eight bit clean mode.
  7346.  
  7347.     * input.c (handle_char): Now supports eight bit clean mode.
  7348.  
  7349.     * main.c (tty_getsize): The tty_defaults function deleted as
  7350.     unnecessary. 
  7351.     (handle_console): Small bug fixes and code clean-up.
  7352.     new variable: eight_bit_clean, to be used in future patches.
  7353.     (toggle_eight_bit): new function to support the eight bit clean
  7354.     mode. 
  7355.  
  7356.     * setup (load_setup): Set the eight bit handling in ncurses.
  7357.  
  7358.     * screen.c (display_mini_info): If the file is a symbolic link then
  7359.     destination of the link is shown.
  7360.  
  7361.     * key.c (mi_getch): Use the new macro ALT() for converting an ALT
  7362.     value. 
  7363.  
  7364.     * util.c (is_printable): A new function to detect whether a
  7365.     character is legal in current mode. In 7-bit mode characters 32 -
  7366.     126 are legal and in 8-bit mode characters 32 - 126 and 160 - 255
  7367.     are legal (conforming to the ISO-8859-1 / latin-1 standard).
  7368.  
  7369. Sun Oct 30 20:39:58 1994  Alessandro Rubini <rubini@ipvvis.unipv.it>
  7370.  
  7371.     * gpm-xterm.c: New file, needed to cleanup the code in key.c,
  7372.     key.c has not been changed yet to take advantage of this yet.
  7373.  
  7374. Sun Oct 30 20:38:44 1994  Radek Doulik <rodo@earn.cvut.cz>
  7375.  
  7376.     * option.c, dlg.c: New files: The new option configuration
  7377.     routines and the new dialog box manager.  Very nice.
  7378.  
  7379. Sun Oct 30 18:21:00 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  7380.  
  7381.     * main.c (tty_defaults, tty_cursormove, handle_console): New
  7382.     functions for handling Linux console screen saving and
  7383.     restoring. Original idea and part of code from Unix Interactive
  7384.     Tools version 3.2b, file tty.c. NOTE: this code requires that the
  7385.     user is root or the mc is setuid root (because it is reading the
  7386.     console screen).  
  7387.  
  7388.     * main.c (pre_exec, post_exec, view_other_cmd, main):
  7389.     Modifications to use handle_console for screen saving and
  7390.     restoring. 
  7391.  
  7392.     * view.c (display): No longer tries to output DEL characters.
  7393.  
  7394.     * win.c (check_movement_keys): Added the 'g' and 'G' keys to the
  7395.     additional keys. They work like they do in 'less'. (This change
  7396.     requires my previous patch applied).
  7397.  
  7398. Sat Oct 29 16:38:20 1994  Miguel de Icaza  <miguel@sphinx>
  7399.  
  7400.     * main.c (post_exec, execute, view_other_cmd): Change cbreak ()
  7401.     calls by raw () calls.
  7402.  
  7403. Sat Oct 29 15:48:09 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  7404.  
  7405.     * win.c (check_movement_keys): Added handling of 'g' and 'G' keys
  7406.     (go top and go bottom keys).
  7407.  
  7408. Sat Oct 29 15:31:08 1994  Alessandro Rubini <rubini@ipvvis.UNIPV.IT>
  7409.  
  7410.     * configure.in: Misc patches.
  7411.  
  7412. Fri Oct 28 12:07:01 1994  Miguel de Icaza  <miguel@sphinx>
  7413.  
  7414.     * main.c (copy_cmd, ren_cmd, link_cmd, mkdir_cmd, delete_cmd): Use
  7415.         input_expand_dialog.
  7416.  
  7417.     * dialog.c (input_expand_dialog): New function: this calls
  7418.     tilde_expand on the information typed by the user.
  7419.  
  7420. Fri Oct 28 11:36:15 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  7421.  
  7422.     * dir.c (handle_dirent): No longer filters links pointing to
  7423.         directories. This bug was accidentally introduced in alpha-27.
  7424.  
  7425.     * win.c, win.h (define_label, define_label_quit): Saves the
  7426.     callback function pointer in the fkey_table_list. 
  7427.     (push_fkey): The new_fkey function renamed to push_fkey. Now
  7428.     allocates a new fkey_table_list. 
  7429.     (pop_fkey): A new function. Deletes the fkey window and
  7430.     the old fkey_table_list.  
  7431.     (check_fkeys): A new function. Checks whether a key is a fkey and
  7432.     has a action defined in the fkey_table_list. 
  7433.     (check_movement_keys): A new function. Checks whether a 
  7434.     key is up, down, pgup, pgdn, home or end and calls the correct
  7435.     function. If the 'additional' flag is true checks also 'less' like
  7436.     keys 'b', space, 'u' and 'd'.
  7437.  
  7438.     * help.c (move_forward2, move_backward2, move_forward,
  7439.     move_backward, null_fn, interactive_display): Now uses the
  7440.     check_movement_keys function.
  7441.  
  7442.     * help.c (move_backward2): A small bug fix (replaced '>' with
  7443.     '>=').
  7444.     (follow_link): Now mouse can be used for scrolling backward and
  7445.     forward.  
  7446.  
  7447.     * main.c (init_labels, do_nc): Now uses the push_fkey, pop_fkey
  7448.     and check_fkeys functions.
  7449.  
  7450.     * setup.c (load_setup): Fixed a little memory allocation problem
  7451.     (the other_dir variable).
  7452.  
  7453.     * view.c (move_forward2, move_backward2, move_forward,
  7454.     move_backward, move_to_top, move_to_bottom, init_view, do_view):
  7455.     Now uses the push_fkey, pop_fkey, check_fkeys and
  7456.     check_movement_keys functions. 
  7457.  
  7458.     * view.c (init_view): A small bug fix in the definition of the AIX
  7459.     meaning of F8 and F9. 
  7460.     (one_line_up, one_line_down, do_view):     Little fixes in the
  7461.     support for scrolling text with mouse. 
  7462.     (load_view_file): Does not attempt to view a directory, a socket or
  7463.     a fifo.  
  7464.  
  7465. Thu Oct 27 14:39:48 1994  Miguel de Icaza  <miguel@sphinx>
  7466.  
  7467.     * user.c (menu_input_loop): Allow more than 'a' through 'z'
  7468.     entries in the user menu.
  7469.  
  7470.     * auto.c (do_exec_mount): Added calls to open_error_pipe and
  7471.     close_error_pipe, don't close descriptor (2).
  7472.  
  7473.     * ext.c, file.c, help.c, main.c, user.c, view.c: Changed a lot of
  7474.     uses to sys_errlist[errno] to unix_error_string (errno).
  7475.  
  7476. Thu Oct 27 14:21:30 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  7477.  
  7478.     * TODO: Now mentions the TERMINFO environment variable. Changed
  7479.     the location of the line "Use the mv code from GNU's mv". Deleted
  7480.     the entry about left and right moving the selection in brief mode
  7481.     (already implemented). 
  7482.  
  7483.     * dir.c (handle_dirent): New function. (do_load_dir,
  7484.     do_reload_dir): The common part of the code moved to the
  7485.     handle_dirent function to avoid code duplication.
  7486.  
  7487.     * dir.c (handle_dirent, sort_name, sort_ext, sort_time,
  7488.     sort_size), dir.h:  Links to directories are now sorted as
  7489.     directories. Links to files continue to be sorted as files. 
  7490.  
  7491.     * ext.c, file.c, help.c, main.c, user.c, view.c: Changed a lot of
  7492.     calls to the "message" function to include system error message
  7493.     sys_errlist[errno]. 
  7494.  
  7495.     * file.c (move_file): Now uses open_error_pipe/close_error_pipe to
  7496.     catch the error messages from /bin/mv command.
  7497.  
  7498.     * main (init_panels): If chdirs to the other_dir, now chdirs also
  7499.     back. This thing seemed to be accidentally deleted by someone from
  7500.     the alpha-26. 
  7501.  
  7502.     * util.c, util.h, view.c: The open_error_pipe, check_error_pipe
  7503.     and close_error_pipe functions moved from view.c to util.c. The
  7504.     prototypes now appear in the util.h. Modifications in
  7505.     close_error_pipe to make it possible to define whether a possible
  7506.     message in the error pipe should be printed as a warning message
  7507.     or a error message. 
  7508.  
  7509.     
  7510. Wed Oct 26 17:21:19 1994  Miguel de Icaza  <miguel@sphinx>
  7511.  
  7512.     * configure.in: Now the gpm library is detected by the autoconf
  7513.     program.  If the lib is installed in a weird directory, then you
  7514.     use the --with-gpm-mouse=base-directory.
  7515.  
  7516.     * Changed the use_gpm constant for HAVE_LIBGPM.
  7517.  
  7518.     * util.c (copy_strings): new function. This one uses gc_alloc and
  7519.     returns the concatenation of all it's arguments.  The list must
  7520.     end with a 0.
  7521.  
  7522.     * ext.c (regex_command), file.c (move_file), find.c, main.c
  7523.     (action, view_cmd, ext_cmd, menu_edit_cmd), setup.c
  7524.     (save_setup, load_setup), view.c (load_view_file): Removed hard
  7525.     coded limits, use the new function copy_strings.
  7526.  
  7527.     * gc.c (gc_free_now): New function, frees the pointer at that
  7528.     point, also increased the number of handles.
  7529.  
  7530.     * main.c: Typo fix.
  7531.  
  7532.     * menu.c: allow F-10 to act like ESC.
  7533.  
  7534. Wed Oct 26 17:13:15 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  7535.  
  7536.     * main.c (filter_cmd): Filter was acting on the current panel
  7537.     instead of the panel selected in the menus.
  7538.     (action): When executing commands in a panel, prepend a ./ to the
  7539.     command. 
  7540.  
  7541. Wed Oct 26 17:09:59 1994  Alessandro Rubini <rubini@ipvvis.UNIPV.IT>
  7542.  
  7543.     * key.c (mi_getch): switch cleanup.
  7544.  
  7545. Tue Oct 25 12:19:39 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  7546.  
  7547.     dir.c (do_load_dir, do_reload_dir): Directory "." is no longer
  7548.     shown in the directory panel. Added support for directory panel
  7549.     filter.
  7550.  
  7551.     dir.h: Added a filter parameter to the prototypes of do_load_dir
  7552.     and do_reload_dir.
  7553.  
  7554.     panel.h: Added the filter field to the struct Panel.
  7555.  
  7556.     find.c (select_and_change_panel): Added filter argument to the
  7557.     call of do_load_dir.
  7558.  
  7559.     screen.c (brief_frame): The titles of the directory panel in the
  7560.     brief mode are located correctly even if the width of the screen
  7561.     is not 80 columns. 
  7562.     (init_panel): The default filter is "*". 
  7563.     (panel_reload): Added filter argument to the call of
  7564.     do_reload_dir. 
  7565.  
  7566.     main.c (init_panels, do_cd): Added filter argument to the call of
  7567.         do_load_dir.
  7568.     (filter_cmd): New function to change the directory panel
  7569.     filter. 
  7570.     (swap_cmd): New function to swap the contents of the directory
  7571.     panels, keyboard shortcut is C-u. Changes in PanelMenu, RightMenu
  7572.     and CmdMenu to support the filter and swap commands. A name change
  7573.     of a menu entry: "View other screen(xterm)" -> "Panels
  7574.     on/off(xterm)". The width of the menu bar now matches the width of
  7575.     the screen.  
  7576.  
  7577.     help.c (start_link_area, end_link_area, clear_link_area,
  7578.     help_event): New functions which implement a mouse support. 
  7579.  
  7580.     (show, interactive_display): Now using the mouse support. 
  7581.  
  7582.     help.c (select_prev_link): No longer tries to recover if there is
  7583.     no previous link. Returns NULL in such cases. (show): If the
  7584.     selected link would not be visible the first or the last visible
  7585.     link is selected. 
  7586.     (interactive_display): Reworked the way the "tab" and "b" keys
  7587.     work. Now they step through the links on the screen, not the links
  7588.     on the node. 
  7589.     (interactive_display): Added support for the "left" and "right"
  7590.     keys. They work like they do in the Lynx. 
  7591.  
  7592. Sun Oct 23 17:21:14 1994  Miguel de Icaza  <miguel@sphinx>
  7593.  
  7594.     * util.c (tilde_expand): Now, this time, it should work.
  7595.  
  7596.     * main.c (init_panels): Don't select the information window.
  7597.  
  7598.     * setup.c (load_setup): Only one of the panels may be in the
  7599.     information mode.
  7600.  
  7601.     * main.c: Now you can use C-x i to toggle the information window.
  7602.  
  7603. Thu Oct 20 11:47:24 1994  Miguel de Icaza  <miguel@sphinx>
  7604.  
  7605.     * profile.c (sync_profiles): Made some function static.  Added
  7606.     prototypes to profile.h file.
  7607.  
  7608.     * profile.h: new file, prototypes to profile.c.  Added #include to
  7609.     the files that used the functions.
  7610.  
  7611.     * main.c (switch_to_info): New function: switches to information
  7612.     mode, and added the info option to the menus.
  7613.  
  7614.     * screen.c (paint_panel): Can paint normal panels and information
  7615.     panels.
  7616.  
  7617.     * util.c (tilde_expand): Hopefully, now the tilde expansion is fixed.
  7618.  
  7619.     * ncurses.h: Added detection for buggy ncurses when running on SGI
  7620.     machines with GNU CC.
  7621.  
  7622. Tue Oct 18 12:23:06 1994  Miguel de Icaza  <miguel@sphinx>
  7623.  
  7624.     * configure.in: Actually do something when GCC is detected.  Copy
  7625.     the GNUmakefile from the source directory to the compilation
  7626.     directory. 
  7627.  
  7628.     * GNUmakefile: New file.  Used to include the dependencies.
  7629.     Developers should use GNU make, the rest of the people is ok with
  7630.     a standard make.
  7631.  
  7632.     * main.c (move_selection, move_left, move_right): When in Brief
  7633.     mode, the program now is able to move the selection to the left
  7634.     and right.  Only the keybindings KEY_LEFT and KEY_RIGHT use this
  7635.     option, the C-b and C-f still call the default_key handling
  7636.     mechanism.
  7637.  
  7638. Tue Oct 18 10:32:22 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  7639.  
  7640.     * key.c (mi_getch): Solaris fix: if key received is kf0, convert
  7641.     that to kf10.
  7642.     
  7643.     * xterm.ti: fixed the op capability to the correct value and
  7644.     changed the definition from kf0 to kf10. 
  7645.  
  7646. Mon Oct 17 18:41:33 1994  Miguel de Icaza  <miguel@sphinx>
  7647.  
  7648.     * util.c (tilde_expand): Finally, I fixed the tilde expansion, it
  7649.     was not that hard to fix.
  7650.  
  7651.     * user.c (execute_menu_command): Use strchr instead of
  7652.     search_string, this fixes a little bug introduced by the need of
  7653.     fmt before. 
  7654.  
  7655.     * xterm.ti, vt100.ti: new terminfo databases for vt100 and xterm.
  7656.  
  7657. Mon Oct 17 17:44:11 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  7658.  
  7659.     * xterm-color: new file. NCurses terminfo database for color
  7660.     xterms.
  7661.  
  7662.     * man2hlp.c: new file. replaces man2hlp.pl (and the use of fmt).
  7663.  
  7664.     * main.c (view_other_cmd): Now displays an error box if curses
  7665.     does not support the alternate screen.
  7666.  
  7667.     * help.c: Now uses help.h. The constant definitions moved to
  7668.     help.h. Now uses the constants (why to define constants if they
  7669.     are not used?).
  7670.  
  7671.     * help.h: New file. Defines constants for help.c and man2hlp.c.
  7672.  
  7673.     * gindex.pl: Removed the ctrl-d workaround. Not needed because fmt
  7674.     is no longer used. Removed the main node from contents (it was
  7675.     added to contents by removal of ctrl-d workaround). Other new
  7676.     nodes in the contents (About, License and Help) left visible.
  7677.  
  7678.     * color.h, dialog.c (create_dialog), screen.c (show_dir): Color
  7679.     selection bug fixes. The code was assuming that the default color
  7680.     is white on black.  On color xterm it is black on white.
  7681.  
  7682.     * Makefile.in (ync.hlp): Uses man2hlp (compiled version of the
  7683.     man2hlp.c) instead of man2hlp.pl and fmt. Rebuilding the mc.hlp
  7684.     file works now on all machines, not just on Linux.
  7685.  
  7686.     * Makefile.in (DISTFILES): Replaced the man2hlp.pl file with
  7687.     man2hlp.c. Removed the second occurrence of xnc.hlp.
  7688.  
  7689. Fri Oct 14 17:52:46 1994  Miguel de Icaza  <miguel@sphinx>
  7690.  
  7691.     * screen.c (panel_reload): If you can't chdir to a directory, load
  7692.     a dummy.
  7693.  
  7694. Fri Oct 14 16:23:41 1994  Massimo Fontanelli <MC8737@mclink.it>
  7695.  
  7696.     * find.c (find_dialog): You can't stop if lines is equal to
  7697.     zero. This fixes one of the problems in the find file program.
  7698.  
  7699.  Fri Oct 14 13:53:16 1994  Miguel de Icaza  <miguel@sphinx>
  7700.  
  7701.     * util.c (regexp_match): Fixed small typo when HAVE_LIBGEN_H is
  7702.     defined. 
  7703.  
  7704.     * configure.in: Misc cleanup in the configuration process.
  7705.     Solaris should use the -lgen library to have regular expression
  7706.     support. 
  7707.  
  7708. Fri Oct 14 13:32:02 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  7709.  
  7710.     * main.c (execute): The execute function didn't change the line
  7711.     after prompting which caused the output of next external command
  7712.     to start from the middle of line. The view_other_cmd function
  7713.     didn't flush the output after putp(enter_ca_mode) which made it
  7714.     look like two keypresses are needed to return to the mc screen.
  7715.  
  7716.     * key.c (mi_getch): I finally managed to nail down that gpm bug I
  7717.     have been complaining about.  The mi_getch function was reading
  7718.     gpm mouse even when shut_mouse had been called. It was a real hard
  7719.     one.  The existence of the mouse is now told by three
  7720.     variables. The use_mouse_p variable tells the type of mouse and
  7721.     the gpm_flag and xmouse_flag variables tell whether the mouse is
  7722.     currently active (init_mouse called) or not (shut_mouse
  7723.     called). Previously I was attempting to get along with only
  7724.     use_mouse_p.
  7725.  
  7726. Fri Oct 14 10:58:34 1994  Miguel de Icaza  <miguel@sphinx>
  7727.  
  7728.     * help.c (select_prev_link, select_next_link): Bug fixes.
  7729.     (search_string_node): Don't return main if can't find a node.
  7730.  
  7731.     * view.c (regexp_searc, normal_search): Now, it should not do
  7732.         empty searches.
  7733.     (do_view):  Now, you can continue a search with the 'n' or C-s
  7734.     command. 
  7735.  
  7736. Thu Oct 13 16:25:39 1994  Massimo Fontanelli <MC8737@mclink.it>
  7737.  
  7738.     * view.c (do_view): When running under AIX, keys F8 and F9 take
  7739.     you to the beginning and bottom.
  7740.  
  7741. Thu Oct 13 12:26:23 1994  Miguel de Icaza  <miguel@sphinx>
  7742.  
  7743.     * help.c (interactive_display): If there are no next or previous
  7744.     links when that command is issued, don't go to the main node.
  7745.  
  7746. Thu Oct 13 11:34:06 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  7747.  
  7748.     * dialog.h: removes the warning which comes during compilation.
  7749.  
  7750.     * help.c (search_string, move_backward, show,
  7751.     interactive_display): Two fixes for the bugs uncovered by the
  7752.     addition of '.\"LINK"' command: a newline in the link name bug fix
  7753.     and a multi-line spanning link background colour flash bug
  7754.     fix. Other changes: a backward scroll bug fix, a dialog name
  7755.     change from "Main" to "Help", a next-page bug fix and F1 now shows
  7756.     the help for the help viewer.
  7757.  
  7758.     * view.c (do_view): Backspace and delete now scroll a screenful
  7759.     backwards like they do in the internal help. 
  7760.  
  7761.     * Makefile.in: Added INSTALL.FAST to the DISTFILES.
  7762.  
  7763.     * xnc.hlp: Improved the documentation for the help viewer.
  7764.  
  7765.     * gindex.pl: The index is no longer sorted. Looks a bit better
  7766.     now. I think that the name "Contents" would be better than the
  7767.     current "Index".
  7768.  
  7769.     * mc.1, mc.hlp: A name change in header: nc -> mc. Description and
  7770.     Options moved out of the index to their own section. A lot of
  7771.     links added. Bug fixes and spelling corrections. The awfully long
  7772.     Keys section divided to five sections (Keys, Action Keys,
  7773.     Selection Keys, Command Line Keys and Input Line Keys). The
  7774.     existence of the menus documented (section Menu Bar).
  7775.     Miscellaneous additions.
  7776.  
  7777.     * man2hlp.pl: Added support for '.\"LINK"' command. Better support
  7778.     for roff commands ".nf" and ".fi".
  7779.  
  7780.     * NEWS: Spelling corrections.
  7781.  
  7782.     * INSTALL.FAST: The INSTALL file seems to be a bit long. I wrote a
  7783.     shorter version which only mentions the essential. It is still
  7784.     longer than one screenful but I think it is a step to the right
  7785.     direction. 
  7786.  
  7787.     * ChangeLog: Spelling corrections.
  7788.  
  7789. Wed Oct 12 18:43:19 1994  Miguel de Icaza  <miguel@sphinx>
  7790.  
  7791.     * view.c (search), find.c (add_list), main.c (unselect_cmd,
  7792.     select_cmd): Use the new regexp_match argument
  7793.  
  7794.     * util.c (regexp_match): If matching files, and easy patterns are
  7795.     enabled, then add '^' at the beginning of the regular expression
  7796.     and a '$' at the end.
  7797.  
  7798.     * Added some missing includes to many files (malloc.h, unistd.h)
  7799.  
  7800.     * view.c (move_forward): Fixed bug in the internal viewer.
  7801.     Changed line == lines for line >= lines, since line could have
  7802.     been incremented twice: one caused by the wrapping and one because
  7803.     of the newline.
  7804.     (do_view): Added back scrolling with the DEL key.
  7805.  
  7806. Tue Oct 11 11:12:53 1994  Miguel de Icaza  <miguel@sphinx>
  7807.  
  7808.     * find.c (find_dialog): Now, before returning, it properly
  7809.     destroys the dialog.
  7810.  
  7811.     * view.c (view): Call push_refresh only after the WINDOW * have
  7812.     been setup, and pop the refresh function only if the viewer did
  7813.     successfully run.
  7814.  
  7815.     * find.c (do_find), user.c: Use do_refresh instead of
  7816.         refresh_screen
  7817.  
  7818.     * dialog.c (push_refresh, pop_refresh, do_refresh): new screen
  7819.     refresh handler.
  7820.  
  7821.     * view.c (view): Use the new display refresh handler.
  7822.  
  7823.     * help.c (interactive_display): Now you can specify the node to be
  7824.     looked up.
  7825.  
  7826.     * main.c (version): Shows information about how was the program
  7827.     compiled. 
  7828.  
  7829. Tue Oct 11 11:12:33 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  7830.  
  7831.     * key.c (mi_getch): This patch makes function keys work under
  7832.     Irix. It may also help on other machines which have incorrect
  7833.     termcap. However, it doesn't make F10 work under Solaris.
  7834.  
  7835.     * view.c: Some reorganization in view.c to support my forth-coming
  7836.     version of the buffering. It now uses longs instead of char
  7837.     pointers. "*from" has been replaced with "get_byte(from)". I
  7838.     submit these changes now so that others won't make incompatible
  7839.     changes before I get the buffering ready.
  7840.  
  7841.     Changed some stupid abbreviations to the long form: errpipe ->
  7842.     error_pipe, open_errpipe -> open_error_pipe, close_errpipe ->
  7843.     close_error_pipe, olderr -> old_error.
  7844.  
  7845.     Modifications in open_error_pipe and close_error_pipe and addition
  7846.     of check_error_pipe to support my forth-coming version of the
  7847.     buffering. 
  7848.  
  7849.     Moved the wrap toggle from F5 to the correct place F2. Disabled
  7850.     the AIX meanings of F1 and F2.    
  7851.  
  7852.     regexp_search() disabled in the hex mode (previously only the fkey
  7853.     label was removed).  Replaced the RxSearch hotkey F8 with F6 (the
  7854.     fkey labels already mentioned F6 as the hotkey).
  7855.  
  7856.     (help_cmd): Added a help command to the internal viewer. BUGS:
  7857.     doesn't open the help file from the correct place (is not context
  7858.     sensitive), flashes the main screen when exiting from the help.
  7859.  
  7860.     (move_forward): A bug fix in move_forward(). Now it correctly
  7861.     scrolls forward when in wrap mode.
  7862.  
  7863.     * mc.1: (Internal file viewer): Documented the active keys inside
  7864.     the internal file viewer.
  7865.  
  7866.     * main.c (view_other_cmd): Because view_other_cmd() now works only
  7867.     in xterm I removed libgpm bug workaround (perhaps I should get a
  7868.     bugless version of libgpm, I am having too many segmentation
  7869.     faults when using mc on the console). 
  7870.  
  7871.     (check_for_default): When editing the extension file or the menu
  7872.     file if the file doesn't exist the default file is copied for editing.
  7873.  
  7874.     (ext_cmd, menu_edit_cmd): Uses check_for_default.
  7875.  
  7876.     (version): A little change in version string informing about xterm
  7877.     mouse support.
  7878.  
  7879. Mon Oct 10 21:10:46 1994  Miguel de Icaza  <miguel@sphinx>
  7880.  
  7881.     * key.c (mi_getch): Buggy SystemV curses now should be able to
  7882.     detect ESC+anything extra key sequences.
  7883.  
  7884.     * help.c: When going back in the history, it sets the selected
  7885.     link to the one that was followed.
  7886.     (select_prev_link): Now it's possible to go back in the hypertext
  7887.     viewer with the 'b' key.
  7888.  
  7889.     * configure.in: Added --with-old-tools configuration option.
  7890.  
  7891. Sat Oct  8 12:45:22 1994  Miguel de Icaza  <miguel@sphinx>
  7892.  
  7893.     * view.c (display): The viewer now can wrap text.  It's still
  7894.     missing movement by lines that correctly deals with wrapped text.
  7895.     (move_forward): Moves ok when wrap mode is on.
  7896.     (move_backward): Moves ok when wrap mode is on.
  7897.  
  7898. Fri Oct  7 19:58:42 1994  Miguel de Icaza  <miguel@sphinx>
  7899.  
  7900.     * menu.c (run_bar): Always repaint menu bar.
  7901.  
  7902. Thu Oct  6 09:48:18 1994  Miguel de Icaza  <miguel@sphinx>
  7903.  
  7904.     * profile.c (load): Changed char c for int c.  That caused AIX and
  7905.     SGI machines to freeze when loading the profile.
  7906.  
  7907.     * setup.c: Added accidentally deleted entry for default_list_perm
  7908.     option. 
  7909.  
  7910. Thu Oct  6 09:47:42 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  7911.  
  7912.     * menu.c (run_bar): Fixed wrong type cast for IRIX. 
  7913.  
  7914.     * auto.c: fixed typo.
  7915.  
  7916. Wed Oct  5 11:37:38 1994  Miguel de Icaza  <miguel@sphinx>
  7917.  
  7918.     * key.c (mi_getch): Fixed small typo: use_mouse_p == XTERM_MOUSE
  7919.  
  7920.     * menu.c (top_menu_handle): Fixed the problems with the mouse.  No
  7921.     more flashing menus, and correctly select entries in the
  7922.     query_boxes.
  7923.     (run_bar): Added a missing line.
  7924.  
  7925.     * main.c (main): Removed the \ec hack before entering do_nc, it
  7926.     was a hack to a badly written termcap entry for the Linux console
  7927.     in my machine.
  7928.  
  7929. Wed Oct  5 10:44:30 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  7930.  
  7931.     * zip.c (is_gunzipable): Clean up the code.
  7932.  
  7933.     * view.c (open_err_pipe, close_err_pipe): These functions are used
  7934.     for creating a pipe for capturing gzip error messages. If gzip
  7935.     encounters a error, the error message is now shown in a nice
  7936.     message box. Lot cleaner than the previous solution.
  7937.     (view): More fixes to gzip viewer.
  7938.  
  7939.     * main.c (view_other_cmd): The 'View other screen (xterm)' feature
  7940.     now shows an error box if current terminal is not xterm. It still
  7941.     doesn't work on Solaris xterm without real ncurses (well,
  7942.     documentation encourages people to use real ncurses, so it is not
  7943.     a bug, it is a feature).
  7944.  
  7945. Tue Oct  4 11:37:06 1994  Miguel de Icaza  <miguel@sphinx>
  7946.  
  7947.     * configure.in (LIBS): Little fix: if ncurses is in /usr/include
  7948.     then add -lncurses.
  7949.  
  7950.     * menu.c (top_menu_handle): Fixed bug that prevented current
  7951.     selection on dialog boxes to be selected in bars.
  7952.  
  7953.     * key.c (xmouse_get_event): Added double click support under
  7954.         xterms (double_click_speed loaded in setup.c).
  7955.  
  7956. Tue Oct  4 10:25:55 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  7957.  
  7958.     * zip.c (is_gunzipable): The code can now figure out the size of
  7959.     pkzipped file.
  7960.  
  7961.     If the file to viewed has PACK_MAGIC, LZH_MAGIC or compress magic
  7962.     the code guesses that the uncompressed size is four times the
  7963.     compressed size. If the uncompressed size is later found to be
  7964.     smaller extra memory is freed with realloc.
  7965.  
  7966.     * configure.in: When specifying --with-ncurses flag, add the
  7967.     -lncurses library option.  Added a missing fi to the script.
  7968.  
  7969.     * view.c (search): If search string is not found, inform the user.
  7970.     (load_view_file): Gzip support was showing uncompressed data only
  7971.     worth the compressed size of the file. I fixed it and did two
  7972.     other minor adjustments to the gzip support. I hope it will work
  7973.     correctly now.
  7974.  
  7975. Mon Oct  3 17:21:46 1994  Miguel de Icaza  <miguel@sphinx>
  7976.  
  7977.     * main.c (do_cd): trim directory to cd.
  7978.     (do_cd): Use the new wonderful micro-garbage collector.  This
  7979.     should help to clean up the code in the future.  I promise to
  7980.     change the actual code with the time to use the garbage collector.
  7981.     (do_cd): New: tilde expansion on cd.
  7982.  
  7983. Mon Oct  3 09:30:59 1994  Miguel de Icaza  (miguel@roxanne)
  7984.  
  7985.     * main.c (main): Friendly hack.
  7986.  
  7987.     * To configure the gpm mouse server, you need to specify
  7988.     --with-console-mouse.  Since now it always come with mouse support
  7989.     (since you may be running in an xterm, again, all that was made by
  7990.     Janne). 
  7991.  
  7992.     * mouse.c,main.c: changed use_mouse for use_gpm
  7993.  
  7994. Mon Oct  3 09:23:04 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  7995.  
  7996.     * win.c (define_label, define_label_quit): Now works on xterms.
  7997.  
  7998.     * menu.c: Removed ifdefs around use_mouse, now on xterms it works. 
  7999.  
  8000.     * mouse.h: Modifications to use mouse on xterms without having the
  8001.     gpm package installed.
  8002.  
  8003.     * main.c: use_mouse_p now holds the type of mouse handling that is
  8004.     done.
  8005.     (main): Detect xterm and cleanup the constants.
  8006.  
  8007.     * key.c (init_key): Changes for using mouse in xterms.
  8008.     (xmouse_get_event): New function to handle xterminals mouse
  8009.     events. 
  8010.     (mi_getch): Parse xterm escape sequences.
  8011.  
  8012.     * view.c (load_view_file): Now it doesn't discard the first byte
  8013.     of the uncompressed file. 
  8014.     * view.c: clean up.
  8015.  
  8016.     * mouse.c: Include fcntl.h instead of sys/fcntl.h
  8017.     (init_mouse): new code for xterm mouse handling.
  8018.     (shut_mouse): new code for xterm mouse handling.
  8019.  
  8020. Sun Oct  2 18:52:05 1994  Miguel de Icaza  <miguel@sphinx>
  8021.  
  8022.     * setup.c (save_setup,load_setup): Cleaned up setup loading/saving.
  8023.  
  8024.     * zip.c (is_gunzipable): new function: determines if a file is
  8025.     prone to be gunziped.
  8026.  
  8027.     * view.c (hex_search): Added hex-search.
  8028.     (load_view_file): Now it's possible to display gziped files in the
  8029.     internal viewer.
  8030.  
  8031.     * dialog.c (run_dialog): Fixed bug: call (*refresh_fn)() instead
  8032.     of refresh_screen.  Should do it a stack of refresh functions.  To
  8033.     be fixed
  8034.  
  8035. Sun Oct  2 13:46:45 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  8036.  
  8037.     * main.c (view_other_cmd): Added code to view command output on
  8038.         xterms.  C-o is binded to this command.
  8039.  
  8040. Fri Sep 30 18:52:53 1994  Miguel de Icaza  <miguel@sphinx>
  8041.  
  8042.     * view.c (toggle_hex_mode): Disable regular expression searching
  8043.     when given an hex pattern.
  8044.  
  8045. Fri Sep 30 16:32:18 1994  Massimo Fontanelli <MC8737@mclink.it>
  8046.  
  8047.     * configure.in: when compiling in AIX, use -D_BSD
  8048.  
  8049.     * main.c (mkdir_cmd): Spelling correction.
  8050.  
  8051.     * view.c (view): Corrected: use variable version of max_dirt_limit
  8052.     instead of constant.
  8053.  
  8054. Fri Sep 30 11:33:36 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  8055.  
  8056.     * view.c (view): On systems with no mmap or with buggy mmap
  8057.     support, load the entire file into RAM and display it.
  8058.  
  8059. Wed Sep 28 20:07:30 1994  Miguel de Icaza  <miguel@sphinx>
  8060.  
  8061.     * win.c (set_label_text): used for changing the values of the
  8062.     labels.
  8063.  
  8064. Wed Sep 28 20:06:41 1994  Massimo Fontanelli <MC8737@mclink.it>
  8065.  
  8066.     * view.c (toggle_hex_mode): switch between Hex and Ascii labels
  8067.  
  8068. Tue Sep 27 10:47:10 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
  8069.  
  8070.     * view.c (view, one_line_up, one_line_down): scrolling speed
  8071.         enhancements.
  8072.  
  8073.     * view.c (display, toggle_hex_mode, move_forward, move_backward,
  8074.     view): Added hex mode display of files.
  8075.  
  8076. Fri Sep 23 13:29:54 1994  Miguel de Icaza  <miguel@sphinx>
  8077.  
  8078.     * main.c (mkdir_cmd): Fixed a little bug that didn't repaint
  8079.     correctly the screen in some conditions, the fix is to pass the
  8080.     name of the file to select to update_panels.
  8081.  
  8082. Mon Sep 19 12:12:03 1994  Miguel de Icaza  (miguel@sphinx)
  8083.  
  8084.     * To show dates instead of permission, you need to manually add to
  8085.     the .mc.ini file the default_list_perm = 0 setting.
  8086.  
  8087.     * screen.c (repaint_file): More temporary support to show dates
  8088.     instead of permission.
  8089.  
  8090.     * setup.c (load_setup): Save the name of the profile in the global
  8091.     pointer profile_name.
  8092.  
  8093.     * main.c (umount_this_dir): Added C-x m and C-x u to manually
  8094.     mount and umount directories. C-x a Toggles auto_mount flag.
  8095.  
  8096. Sat Sep 17 15:50:42 1994  Miguel de Icaza  (miguel@sphinx)
  8097.  
  8098.     * auto.c (try_auto_mount): New routines for
  8099.     auto-mounting/umounting directories.
  8100.  
  8101.     * main.c (do_cd): Changes to allow auto_mounting.
  8102.  
  8103.     * setup.c (load_setup): Changes to allow auto-mounting
  8104.  
  8105.     * configure.in: We don't use the config.h.in file anymore, only
  8106.     use the in the command line parameters.
  8107.  
  8108. Fri Sep 16 17:38:18 1994  Miguel de Icaza  (miguel@sphinx)
  8109.  
  8110.         * ALPHA-2-0.15
  8111.  
  8112.     * configure.in: AC_AIX added
  8113.  
  8114.     * Replaced '\e' for ESC_CHAR, to allow compilation under AIX.
  8115.  
  8116. Wed Sep 14 16:21:51 1994  Miguel de Icaza  (miguel@roxanne)
  8117.  
  8118.         * ALPHA-0.15
  8119.  
  8120.         * Changes in many files to support GNU autoconf
  8121.  
  8122. Thu Sep  8 12:50:34 1994  Herman Horsten (horsten@wins.uia.ac.be)
  8123.  
  8124.         * Version 0.14
  8125.  
  8126.     * view.c (view): Don't display empty files.
  8127.  
  8128. Wed Sep  7 19:08:31 1994  Miguel de Icaza  (miguel@sphinx)
  8129.  
  8130.     * main.c: Added Some extra C-x hot keys. The Alt-A Alt-a solution
  8131.     to copying paths was very complex to remember. 
  8132.     (copy_tagged): C-x s, copies the tagged files or the selected
  8133.     file to the command line.
  8134.  
  8135. Tue Sep  6 15:58:49 1994  Miguel de Icaza  (miguel@sphinx)
  8136.  
  8137.     * util.c (unix_error_string): New unix_error_string function,
  8138.     stolen from a posting of Roland McGrath in the mach4 mailing list
  8139.     :-)
  8140.  
  8141. Mon Sep  5 19:03:13 1994  Miguel de Icaza  (miguel@sphinx)
  8142.  
  8143.     * dir.h,dir.c,main.c,screen.c: Changes to allow unlimited
  8144.         directory size handling.
  8145.  
  8146. Tue Aug 30 14:22:04 1994  Miguel de Icaza  (miguel@sphinx)
  8147.  
  8148.         * Release 0.13
  8149.  
  8150.     * main.c (ren_cmd): Changed the update_panels call, before it was
  8151.     called with (UP_OPTIMIZE, 0, 0), now it's with UP_KEEPSEL to let
  8152.     the bar stay near the original file was standing.
  8153.     (menu_edit_cmd): Added menu file edit to the program.
  8154.  
  8155.     * dir.c (do_load_dir): If there is no way to load a directory,
  8156.     load a dummy directory.
  8157.  
  8158.     * main.c: Added keybinding C-r to reread_cmd.
  8159.     (do_re_sort): Now when resorting a panel, the selected file is
  8160.     kept selected.
  8161.  
  8162. Mon Aug 29 18:13:42 1994  Miguel de Icaza  (miguel@sphinx)
  8163.  
  8164.     * input.c (forward_word): Changed use of isalpha for isalnum in
  8165.     order to skip over numbers. 
  8166.  
  8167.     * main.c (delete_cmd): Check that the result from query_dialog is
  8168.     not escape (-1), since this deleted files when users pressed
  8169.     esc. Oops.
  8170.  
  8171. Mon Aug 29 16:36:27 1994  Jean-Daniel Luiset (luiset@cih.hcuge.ch)
  8172.  
  8173.     * view.c (one_line_up,move_backward): Fix the backward scrolling.
  8174.  
  8175.     * view.c (view_status): Change the way the computation of the
  8176.         percentage to follow the Norton commander's (% from the beginning,
  8177.     start = 0).
  8178.  
  8179.     * view.c (view): Add KEY_HOME and KEY_END.
  8180.  
  8181. Thu Aug 18 15:34:18 1994  Miguel de Icaza  (miguel@sphinx)
  8182.  
  8183.     * main.c (main): At setup, don't use the opanel and cpanel macros,
  8184.     they don't point to valid data yet (until init_panels is called).
  8185.  
  8186. Thu Aug 18 12:55:12 1994  Miguel de Icaza  (miguel@roxanne)
  8187.  
  8188.     * Release 0.12
  8189.  
  8190. Wed Aug 17 19:39:12 1994  Miguel de Icaza  (miguel@sphinx)
  8191.  
  8192.     * dir.c(do_reload_dir): Added missing call to closedir, in the
  8193.     Sparc it ran out of file handles.
  8194.  
  8195. Mon Aug 15 13:54:34 1994  Miguel de Icaza  (miguel@sphinx)
  8196.  
  8197.     * key.c (mi_getch): When compiling under SVR4, untouchwin stdscr.
  8198.  
  8199.     * main.c (ren_cmd): Bug fix: when file were selected, it only
  8200.     searched from files [0..cpanel->marked] instead of
  8201.     [0..cpanel->count].
  8202.  
  8203. Thu Aug 11 18:19:08 1994  Miguel de Icaza  (miguel@sphinx)
  8204.  
  8205.     * dir.c (d_namelen): Define to allow compilation under IRIX and
  8206.     Solaris 2. Thanks to Matthias Hammer
  8207.     hammer@kirk.fmr.maschinenbau.th-darmstadt.de for his comments.
  8208.  
  8209. Wed Aug 10 12:42:57 1994  Miguel de Icaza  (miguel@sphinx)
  8210.  
  8211.         * Release 0.11
  8212.  
  8213.     * main.c: Changed hot-key for history.
  8214.     (do_cd): support cd -.
  8215.  
  8216.     * Makefile (dist): Moved mc.hlp dependency from install to dist.
  8217.  
  8218.     * main.c (goto_bottom_file, goto_top_file, goto_middle_file),
  8219.     functions to quickly select a file.
  8220.     (main): Now correctly chdirs to the first directory specified in
  8221.     the command line.
  8222.  
  8223.     * util.c (trim): Now, it correctly trims the directory names.
  8224.  
  8225.     * main.c (ok_to_copy): Fixed a very ugly bug in ok_to_copy. I was
  8226.     freeing the wrong pointer.
  8227.  
  8228. Tue Aug  9 14:23:51 1994  Miguel de Icaza  (miguel@sphinx)
  8229.  
  8230.     * menu.c (get_motion): Allow the first character in a query to
  8231.     select the option.
  8232.  
  8233.     * setup.c (save_setup): Now, instead of setting the defaults in
  8234.     setup.c, use the values provided by the definition of the
  8235.     variables. 
  8236.  
  8237.     * key.c (mi_getch): Fixed the mouse event auto repeat timeout
  8238.     problem. 
  8239.  
  8240.     * menu.c (run_menu): Corrected bug that prevented option letters
  8241.     from being used for selection in the menus.
  8242.  
  8243. Tue Aug  9 13:39:35 1994  Torben Fjerdingstad <tfj@olivia.ping.dk>
  8244.  
  8245.     * main.c (copy_cmd): use copy_file_file when copying to a file and
  8246.     not copy_file_dir.
  8247.     * main.c (main): Added missing "c" to getopt option.
  8248.     * main.c (execute): Added call to cbreak () to allow "any key to
  8249.     continue, and not just break".
  8250.  
  8251. Mon Aug  1 14:13:07 1994  Miguel de Icaza  (miguel@sphinx)
  8252.  
  8253.         * Release 0.9
  8254.  
  8255.     * menu.c (send_yes_event): Send an enter when the right mouse
  8256.     button is pressed on menu_bars.
  8257.  
  8258.     * main.c (panel_event): Added inline mark_if_marking to allow
  8259.     marking when dragging the mouse.
  8260.     (mkdir_cmd): changed update_panels (..., UP_KEEPSEL...) for not
  8261.     trying to keep the selection. This fixed a bug when creating a
  8262.     subdirectory. 
  8263.  
  8264.     * screen.c (repaint_file): Added call to wrefresh to fix the bug
  8265.     in b&w mode.
  8266.  
  8267. Fri Jul 29 12:03:23 1994  Miguel de Icaza  (miguel@sphinx)
  8268.  
  8269.     * mouse.c: (mouse_handler): Redraw correctly the mouse pointer. 
  8270.  
  8271.     * mc.1: Updates to the documentation.
  8272.  
  8273.     * main.c (action): If trying to execute a symlink, check that the
  8274.     file it points to is an executable.
  8275.     (main): Added option to negate Force Black and White.
  8276.  
  8277.     * dir.c (if_link_is_exe): New function, used to check if a symlink
  8278.     points to an executable.
  8279.  
  8280.     * screen.c (repaint_file): Instead of showing ctime, display
  8281.     mtime. Fix by Torben Fjerdingstad <tfj@olivia.ping.dk>.
  8282.  
  8283. Thu Jul 28 17:13:07 1994  Miguel de Icaza  (miguel@sphinx)
  8284.  
  8285.     * file.c (copy_file_file): Added verbose operation for file
  8286.     copying.
  8287.  
  8288.     * main.c (do_nc): If connection baud rate is too slow, verbose
  8289.     mode is turned off.
  8290.  
  8291.     * file.c (copy_file_file): Add verbose messages when copying a
  8292.     file. 
  8293.  
  8294.     * main.c (main): Bug fix when specifying directories in the command
  8295.     line. 
  8296.     (delete_cmd): Fixed a bug in the newly introduced confirm delete.
  8297.  
  8298.     * file.c: New builtin copy command, taken from GNU's cp.
  8299.  
  8300.     * main.c (do_cd): If we cant open the specified directory
  8301.     (copy_cmd): Added confirmation when overwriting files.
  8302.  
  8303.     * dir.c (do_load_dir): Avoid segmentation fault if we can cd into
  8304.     a directory, but don't have read access.
  8305.  
  8306. Wed Jul 27 17:07:58 1994  Miguel de Icaza  (miguel@sphinx)
  8307.  
  8308.     * main.c (pre_exec): Call shut_mouse before running a child
  8309.     process. This is to avoid getting unhandled events. Thanks to
  8310.     Alessandro Rubini.
  8311.     (post_exec): Call init_mouse after return.
  8312.  
  8313.     * Various changes to rename the MouseLess Commander from 'nc' to 'mc'.
  8314.  
  8315.     * mouse.c (mouse_handler): Removed the mouse cursor display, let
  8316.     the server do the work. 
  8317.     (init_mouse): Let the server handle GPM_MOVE|GPM_HARD. 
  8318.     use that in defaultMask. Enhancement by Alessandro Rubini
  8319.     (rubini@ipvvis.UNIPV.IT).
  8320.  
  8321. Tue Jul 26 14:37:35 1994  Miguel de Icaza  (miguel@sphinx)
  8322.  
  8323.     * dialog.c (create_dialog): When creating a dialog, a new frame is
  8324.     pushed with the coordinates of the dialog.
  8325.     (destroy_dialog): Call pop_frame.
  8326.  
  8327.     * mouse.c (push_frame): Remember active mouse_events pointer.
  8328.     (pop_frame): Pop mouse_events until previous state is restored.
  8329.  
  8330.     * menu.c (run_bar): Now uses the frames to enter/leave subroutines.
  8331.  
  8332.     * view.c (view): Now uses the frames to enter/leave subroutines.
  8333.  
  8334.     * input.c (handle_char): Don't allow characters > 127 to be
  8335.     inserted in input lines.
  8336.  
  8337.     * help.c (interactive_display): When selecting a target outside
  8338.     the view windows, start the display at the point where the link
  8339.     was found.
  8340.  
  8341.     * menu.c (run_menu): Menu entry lengths are not limited to 20
  8342.     characters any more.
  8343.     (run_menu): Code cleanup and added mouse support.
  8344.  
  8345.     * user.c (menu_input_loop): Now uses my_getch.
  8346.  
  8347. Mon Jul 25 16:14:49 1994  Miguel de Icaza  (miguel@sphinx)
  8348.  
  8349.     * main.c (delete_cmd): Added delete confirmation.
  8350.  
  8351.     * view.c (init_view): Added null_event handling.
  8352.     (search): Source code reorganization for mouse handling.
  8353.  
  8354.     * user.c, help.c: Display error message if unable to open file.
  8355.  
  8356.     * util.c (load_file): If there is a problem stat()ing or open()ing
  8357.     the file, return 0 and don't show any message.
  8358.  
  8359.     * main.c (action): Split enter () in enter () and action (). The
  8360.     later is to be called by the mouse handler.
  8361.     (panel_event): Added double click managing.
  8362.     (main): Added nice usage message
  8363.  
  8364.     * dialog.c (destroy_dialog): Changed name (was: done_dialog),
  8365.     null_event handling.
  8366.  
  8367. Fri Jul 22 18:58:21 1994  Miguel de Icaza  (miguel@sphinx)
  8368.  
  8369.     * screen.c (display_mini_info): The mini info now shows the number
  8370.     in pretty format.
  8371.  
  8372.     * util.c (size_trunc_sep): Nice formating of numbers.
  8373.  
  8374.     * main.c (init_panels): Added events for the panels.
  8375.     (panel_event): Added function that handles mouse events.
  8376.  
  8377.     * key.c (mi_getch): Various changes to support the mouse. 
  8378.  
  8379. Thu Jul 21 13:20:41 1994  Miguel de Icaza  (miguel@sphinx)
  8380.  
  8381.     * main.c (move_up, move_down): Call select_item always, as
  8382.     cpanel->selected must be properly set.
  8383.     (reverse_cmd): Now, it's possible to sort the file in inverse order.
  8384.  
  8385. Tue Jul 19 15:03:29 1994  Miguel de Icaza  (miguel@sphinx)
  8386.  
  8387.     * main.c (long_cmd): Bug fixes to disable activating a panel that
  8388.     is disabled.
  8389.  
  8390.     * setup.c (options_load): Now per panel options are saved.
  8391.  
  8392.     * util.c (name_trunc): Added new truncate option. Now we use a ~
  8393.     in the middle of the name instead of a > at the end of the
  8394.     truncated name.
  8395.  
  8396.     * input.c (create_input): More Input line changes.
  8397.  
  8398.     * find.c (input_find): Adjustments to create_input.
  8399.  
  8400. Mon Jul 18 17:02:46 1994  Miguel de Icaza  (miguel@sphinx)
  8401.  
  8402.     * dialog.c (my_wputs): Workaround ncurses wclreol when printing
  8403.     \n. Better visual effect.
  8404.  
  8405.     * screen.c (display_mini_info): When displaying the brief format,
  8406.     show in the mini info the details of the directory.
  8407.  
  8408. Fri Jul 15 12:23:46 1994  Miguel de Icaza  (miguel@sphinx)
  8409.  
  8410.     * win.c (define_label): Added callback support.
  8411.  
  8412.     * main.c (init_labels): Added callbacks for mouse operations.
  8413.  
  8414.     * input.c: More code reorganization; new Alt-D and Alt-Backspace
  8415.     key handling.
  8416.  
  8417. Thu Jul 14 19:37:18 1994  Miguel de Icaza  (miguel@sphinx)
  8418.  
  8419.     * main.c (toggle_fast_reload): Show the warning message when
  8420.     activating for the first time the Fast directory reload.
  8421.  
  8422. Wed Jul 13 11:51:51 1994  Miguel de Icaza  (miguel@sphinx)
  8423.  
  8424.     * util.c (init_uid_gid_cache): New cache for get_group and
  8425.     get_name. This should speed up the Long directory listing.
  8426.  
  8427.     * input.c (delete_char): New function. Patch from Ralf G. R. Bergs
  8428.         <rabe@advw2.GM.FH-Koeln.DE>.
  8429.     (backward_word): Skip correctly over punctuation characters.
  8430.  
  8431. Mon Jul 11 14:36:15 1994  Miguel de Icaza  (miguel@sphinx)
  8432.  
  8433.     * input.c: New command history in all input lines.
  8434.  
  8435.     * view.c (view_status): Display 100 percent with files with 0
  8436.     bytes size.
  8437.  
  8438.     * screen.c (repaint_file): Small cosmetic change that paints
  8439.     >UP--DIR< when the directory is "..".
  8440.  
  8441.     * input.c (handle_char): Use a keymap instead of the old switch in
  8442.     the input mechanism.
  8443.     (kill_save): Updated kill/yank mechanism.
  8444.  
  8445.     * main.c (start_search): Now it's again possible to search
  8446.     incrementally for a file name.
  8447.     (do_search): Now can go back in the search string.
  8448.  
  8449. Wed Jul  6 14:43:12 1994  Miguel de Icaza  (miguel@sphinx)
  8450.  
  8451.     * help.c (interactive_display): Added entries for page-up,
  8452.     page-down. 
  8453.  
  8454.     * main.c (mkdir_cmd): Added missing call to select_item to
  8455.     reselect the just created directory.
  8456.  
  8457. Mon Jul  4 12:52:34 1994  Miguel de Icaza  (miguel@sphinx)
  8458.  
  8459.         * Release 0.8
  8460.  
  8461.     * help.c: Changed node separator from '%' to ^D (octal 004).
  8462.     (interactive_display): When pressing enter on a node without
  8463.     links, go back to the previous link.
  8464.  
  8465.     * util.c (regexp_match): Removed buggy optimization for detecting
  8466.     same if the same pattern was being applied.
  8467.  
  8468.     * main.c (try_to_select): Added call to display_mini_info. 
  8469.     try_to_select may be called when the file does not exist anymore.
  8470.  
  8471.     * find.c (select_and_change_panel): When changing directories,
  8472.     reset the total byte count (cpanel->total).
  8473.  
  8474.     * main.c (do_cd): When changing directories, reset the total byte
  8475.     count (cpanel->total).
  8476.  
  8477.     * help.c (search_string_node): If start is 0, return the main node.
  8478.  
  8479.     * man2hlp.pl, gindex.pl: New programs to convert the man page to
  8480.     the help file format.
  8481.  
  8482. Thu Jun 30 14:25:34 1994  Miguel de Icaza  (miguel@roxanne)
  8483.  
  8484.     * Changes all over the place to remove warnings from -Wall
  8485.     -Wno-implicit.
  8486.  
  8487. Wed Jun 29 15:32:06 1994  Miguel de Icaza  (miguel@sphinx)
  8488.  
  8489.     * input.c (handle_char): Input lines now support M-b, M-f for word
  8490.     by word movement.
  8491.  
  8492.     * main.c (default_key, do_nc): Now file name searches are started with
  8493.     the Alt-S keysequence. Code cleanup.
  8494.  
  8495.     * input.h (ALT): New Macro for alt-keys
  8496.  
  8497.     * input.c (create_input, insert_char, update_input): All input
  8498.     lines are malloced. They realloc as needed, they scroll as needed.
  8499.  
  8500.     * find.c (input_find): Keep in sync with new Input line management.
  8501.  
  8502.     * main.c (ren_cmd, copy_cmd, mkdir_cmd, select_cmd, unselect_cmd):
  8503.     Fixed small bug. Keep in sync with the new Input line management.
  8504.  
  8505.     * dialog.c (input_dialog): Keep in sync with new Input line
  8506.         management.
  8507.  
  8508.     * main.c (do_nc): Use COLS-strlen(prompt) instead of COLS-2-...
  8509.  
  8510.     * input.c (create_input): Code cleanup.
  8511.  
  8512.     * main.c (main): The unknown option is already handled by getopt,
  8513.     just exit(1).
  8514.  
  8515.     * key.c (mi_getch): Bug fix: Added option to recognize ESC-Tab.
  8516.  
  8517. Mon Jun 27 13:01:03 1994  Miguel de Icaza  (miguel@sphinx)
  8518.  
  8519.         * Release 0.7
  8520.  
  8521.     * screen.c (Xtry_to_select): New: now tries to select a file near
  8522.     the deleted file. The old behavior was really painful.
  8523.  
  8524.     * main.c (toggle_fast_reload): Added configuration option to use
  8525.     fast directory reload.
  8526.     (main): Abort execution if unknown option passed to the program.
  8527.     (execute): Replaced repaint_screen for refresh_screen. 
  8528.     (select_item): New macro to select a file without repainting the
  8529.     screen. 
  8530.     (try_to_select): Select without repainting the selection.
  8531.  
  8532.     * screen.c (panel_reload), main.c (save_cwds_stat): Now,
  8533.     optionally use the stat trick to do a fast reload of a directory.
  8534.  
  8535.     * profile.c: Added include sys/types.h
  8536.     (GetPrivateProfileInt): Extended the integer array size from 5 to
  8537.     6.
  8538.  
  8539. Fri Jun 24 12:25:25 1994  Miguel de Icaza  (miguel@sphinx)
  8540.  
  8541.     * main.c (main): Call save_stop_handler ().
  8542.     (pre_exec): Call endwin ().
  8543.     (execute): call my_system, this should get rid of most of the
  8544.     problems related to complex commands spawned.
  8545.     (execute): removed call to repaint_screen.
  8546.  
  8547.     * util.c (my_system): Misc changes to replace the actual execute
  8548.     command sequence. This must fix also the annoying bug that
  8549.     repaints the screen.
  8550.  
  8551.     * ext.c (regex_command): Now it correctly recognizes all the
  8552.     extensions in the extension file.
  8553.  
  8554.     * main.c (mark_file): Fixed bug that didn't repaint the mini info
  8555.     in some conditions.
  8556.  
  8557. Wed Jun 22 18:49:07 1994  Miguel de Icaza  (miguel@sphinx)
  8558.  
  8559.     * screen.c (panel_reload): Now it correctly clears the number of
  8560.     bytes in tagged files.
  8561.  
  8562.     * main.c (main): Added option -P that prints the ending working
  8563.     directory at program exit. It's still buggy.
  8564.  
  8565.     * dir.c: Now it's possible when sorting files to show files and
  8566.     directories together or separated (like the original nc).
  8567.  
  8568.     * main.c (mark_file): Fixed cosmetic bug that didn't clear the
  8569.     mini_info area correctly.
  8570.  
  8571.     * screen.c (repaint_file): Added support for showing dates instead
  8572.     of permissions in the panels. Still no way to activate it.
  8573.  
  8574.     * main.c (copy_other_prog_name): Added Meta-Tab key. It inserts
  8575.     the selected file name in the other panel into the input line.
  8576.  
  8577. Tue Jun 21 19:25:26 1994  Miguel de Icaza  (miguel@sphinx)
  8578.  
  8579.     * help.c (interactive_display): Added history to the hypertext
  8580.     browser.
  8581.  
  8582. Tue Jun 14 17:47:30 1994  Miguel de Icaza  (miguel@sphinx)
  8583.  
  8584.     * find.c: new version from Mauricio.
  8585.  
  8586.     * main.c (save_cwds_stat): removed the stat () trick optimization.
  8587.  
  8588.     * screen.c (panel_reload): removed the stat () trick optimization,
  8589.     it's not working in some cases, and I don't know how to fix it.
  8590.  
  8591. Mon Jun 13 20:32:07 1994  Miguel de Icaza  (miguel@sphinx)
  8592.  
  8593.     * main.c (ext_cmd): Fixed bug that didn't pass home_dir to sprintf.
  8594.     (mkdir_cmd): Now it will select the directory just created.
  8595.  
  8596.     (do_edit,xmalloc): Thomas Roettgers fixes to a couple of bugs.
  8597.  
  8598. Mon Jun 13 17:40:36 1994  Mauricio Plaza (mok@lya.fciencias.unam.mx)
  8599.  
  8600.     * find.c: Many bug fixes.
  8601.  
  8602. Wed Jun  1 17:19:13 1994  Miguel de Icaza  (miguel@sphinx)
  8603.  
  8604.     * main.c: corrected entry for User Menu.
  8605.  
  8606.     * view.c (move_forward, move_backward): Corrected bug, fix by
  8607.     Torben Fjerdingstad <tfj@olivia.ping.dk>.
  8608.  
  8609.     * main.c: replaced condition marked > 1 by marked > 0. The code
  8610.     didn't check correctly when only one file was tagged and operated
  8611.     on the selection instead.
  8612.  
  8613. Tue May 31 19:59:30 1994  Miguel de Icaza  (miguel@sphinx)
  8614.  
  8615.     * user.c (execute_menu_command): Fixed temporary file unlink bug.
  8616.  
  8617.     * ext.c (exec_extension): Fixed temporary file unlink bug.
  8618.  
  8619.     * main.c (ext_cmd): New extension file edit command.
  8620.  
  8621.     * user.c (expand_format): expansion of %f, %d, %F and %D in the
  8622.     user menu commands and in the extension dependent exec.
  8623.  
  8624.     * ext.c (regex_command): Execution of programs based on the
  8625.     filename extension implemented.
  8626.  
  8627.     * menu.c (run_menu): Fixed bug to select entries in the menus by
  8628.     letter. 
  8629.  
  8630. Mon May 30 13:03:07 1994  Miguel de Icaza  (miguel@sphinx)
  8631.  
  8632.     * screen.c, main.c: various changes to optimize directory loading
  8633.     (suggested by Torben Fjerdingstad <tfj@olivia.ping.dk>). Now it's
  8634.     a pleasure to use the program even on /usr/local/bin.
  8635.     (long_frame): corrected cosmetic bug (COLS/2 -> COLS-2)
  8636.  
  8637.     * color.c: Added option to disable colors.
  8638.  
  8639.     * main.c (main): Now it's possible to specify an initial directory
  8640.     for both panels.
  8641.  
  8642.     (main): Added option to disable colors.
  8643.  
  8644.     (main): -V option added to report version number.
  8645.  
  8646. Mon May 23 21:12:14 1994  Miguel de Icaza  (miguel@sphinx)
  8647.  
  8648.     * help.c, menu.c: added copyright
  8649.  
  8650.     * view.c (display): Don't display characters above 127.
  8651.     (init_view): Added clearok to view_win to clean the screen before
  8652.     updating view_win.
  8653.  
  8654. Sun May 15 14:11:47 1994  Miguel de Icaza  (miguel@sphinx)
  8655.  
  8656.     * main.c: fixed bug that didn't set correctly select variable
  8657.     after calling try_to_select.
  8658.  
  8659. Sat May 14 13:43:58 1994  Miguel de Icaza  (miguel@sphinx)
  8660.  
  8661.     * main.c: Added help and user menu to the File Menu.
  8662.  
  8663.     * dialog.c (refresh_fn): points to a variable to refresh the
  8664.     current screen.
  8665.  
  8666.     * util.c (icase_search): new routine based on search_string.
  8667.  
  8668.     * help.c (search_string): corrected typo (e now is *e).
  8669.  
  8670. Thu May 12 16:40:45 1994  Miguel de Icaza  (miguel@sphinx)
  8671.  
  8672.     * main.c: Misc patches to interface the new internal viewer.
  8673.  
  8674.     * view.c: New internal viewer.
  8675.  
  8676.     * key.c (mi_getch): Added support for ESC->, ESC-<,
  8677.     ESC-Upper(letter). 
  8678.  
  8679.     * screen.c: many changes to support long display
  8680.  
  8681.     * main.c: misc changes for support for long display
  8682.  
  8683.     * main.c: Use panel_refresh instead of wrefresh (panel->win_file). 
  8684.  
  8685.     * main.c: Fixed bug that didn't correctly set the selection
  8686.     variable when using page/up/down/home/end keys.
  8687.  
  8688. Wed May 11 15:52:49 1994  Miguel de Icaza  (miguel@sphinx)
  8689.  
  8690.     * help.c: corrected bug that crashed the program (trying to select
  8691.     a link on a node without links).
  8692.  
  8693. Tue May 10 11:40:21 1994  Miguel de Icaza  (miguel@sphinx)
  8694.  
  8695.     * main.c (move_home): now it goes home no matter if top_file is 0.
  8696.  
  8697. Mon May  9 11:01:09 1994  Miguel de Icaza  (miguel@sphinx)
  8698.  
  8699.     * main.c (suspend_cmd): Added suspend option.
  8700.     (enter): Allow "cd" and "cd " to chdir to $HOME
  8701.     (do_cd): Allow "cd" and "cd " to chdir to $HOME
  8702.  
  8703. Sun May  8 13:42:41 1994  Miguel de Icaza  (miguel@sphinx)
  8704.  
  8705.     * main.c (execute): system now executes commands by calling the
  8706.     user's shell with -c command argument.
  8707.  
  8708.     * screen.c (try_to_select): Corrected bug introduced when fixing
  8709.     selection of root directory subdirectories.
  8710.  
  8711.     * user.c: New: user menus.
  8712.  
  8713.     * main.c: Corrected unselect key.
  8714.  
  8715. Fri May  6 13:10:52 1994  Miguel de Icaza  (miguel@sphinx)
  8716.  
  8717.     * screen.c (try_to_select): Correctly try_to_select when going up
  8718.     to the root directory.
  8719.  
  8720. Tue May  3 11:07:45 1994  Miguel de Icaza  (miguel@sphinx)
  8721.  
  8722.     * main.c (init_panels): Now it correctly changes the other_dir
  8723.     (update_panels): does a chdir to cpanel->cwd after updating
  8724.     the information.
  8725.  
  8726.     * screen.c (display_mini_info): Changed selection for
  8727.     panel->dir [panel->selected].fname since it showed wrong
  8728.     information in opanel.
  8729.  
  8730.     * main.c: (check_menu_panel): Corrected indexes to reflex the
  8731.     released features
  8732.  
  8733.         * main.c (copy_cmd): Now it unselects the copied files.
  8734.  
  8735.     * main.c, util.c: Added setup loading/saving.
  8736.  
  8737.     * util.c (regexp_match): modified code to handle the '?' meta
  8738.     command as a '.' in the regular expression.
  8739.  
  8740.     * input.c (handle_char): When pasting characters with c-y the
  8741.     buffer would overflow.
  8742.  
  8743.     * main.c (ren_cmd): fixed minor bug.
  8744.  
  8745. Mon May  2 10:25:11 1994  Miguel de Icaza  (miguel@sphinx)
  8746.  
  8747.     * many changes to support variable screen widths/lengths.
  8748.  
  8749.     * color.h, menu.c: Fixed problem with menu colors on monochrome
  8750.     terminals. 
  8751.  
  8752.     * dir.c (do_reload_dir): Fixed bug that didn't retag correctly the
  8753.     files (next_free instead of count).
  8754.  
  8755. Sun May  1 16:29:05 1994  Miguel de Icaza  (miguel@sphinx)
  8756.  
  8757.     * main.c (cmd_quit): Asks before quitting, clear screen when
  8758.     finishing the program.
  8759.  
  8760.     * menu.c (get_motion): Fixed bug for query box.
  8761.  
  8762.     * find.c (select_and_change_panel): Call select_item to update the
  8763.     content of the selection variable.
  8764.  
  8765.     (do_find): After running the find, restore nodelay to false.
  8766.  
  8767.